MPE Home Metamath Proof Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >  isstruct2 Structured version   Visualization version   GIF version

Theorem isstruct2 15785
Description: The property of being a structure with components in (1st𝑋)...(2nd𝑋). (Contributed by Mario Carneiro, 29-Aug-2015.)
Assertion
Ref Expression
isstruct2 (𝐹 Struct 𝑋 ↔ (𝑋 ∈ ( ≤ ∩ (ℕ × ℕ)) ∧ Fun (𝐹 ∖ {∅}) ∧ dom 𝐹 ⊆ (...‘𝑋)))

Proof of Theorem isstruct2
Dummy variables 𝑥 𝑓 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 brstruct 15784 . . 3 Rel Struct
2 brrelex12 5120 . . 3 ((Rel Struct ∧ 𝐹 Struct 𝑋) → (𝐹 ∈ V ∧ 𝑋 ∈ V))
31, 2mpan 705 . 2 (𝐹 Struct 𝑋 → (𝐹 ∈ V ∧ 𝑋 ∈ V))
4 ssun1 3759 . . . . 5 𝐹 ⊆ (𝐹 ∪ {∅})
5 undif1 4020 . . . . 5 ((𝐹 ∖ {∅}) ∪ {∅}) = (𝐹 ∪ {∅})
64, 5sseqtr4i 3622 . . . 4 𝐹 ⊆ ((𝐹 ∖ {∅}) ∪ {∅})
7 simp2 1060 . . . . . . 7 ((𝑋 ∈ ( ≤ ∩ (ℕ × ℕ)) ∧ Fun (𝐹 ∖ {∅}) ∧ dom 𝐹 ⊆ (...‘𝑋)) → Fun (𝐹 ∖ {∅}))
8 funfn 5879 . . . . . . 7 (Fun (𝐹 ∖ {∅}) ↔ (𝐹 ∖ {∅}) Fn dom (𝐹 ∖ {∅}))
97, 8sylib 208 . . . . . 6 ((𝑋 ∈ ( ≤ ∩ (ℕ × ℕ)) ∧ Fun (𝐹 ∖ {∅}) ∧ dom 𝐹 ⊆ (...‘𝑋)) → (𝐹 ∖ {∅}) Fn dom (𝐹 ∖ {∅}))
10 inss2 3817 . . . . . . . . . . . 12 ( ≤ ∩ (ℕ × ℕ)) ⊆ (ℕ × ℕ)
1110sseli 3584 . . . . . . . . . . 11 (𝑋 ∈ ( ≤ ∩ (ℕ × ℕ)) → 𝑋 ∈ (ℕ × ℕ))
12 1st2nd2 7153 . . . . . . . . . . 11 (𝑋 ∈ (ℕ × ℕ) → 𝑋 = ⟨(1st𝑋), (2nd𝑋)⟩)
1311, 12syl 17 . . . . . . . . . 10 (𝑋 ∈ ( ≤ ∩ (ℕ × ℕ)) → 𝑋 = ⟨(1st𝑋), (2nd𝑋)⟩)
14133ad2ant1 1080 . . . . . . . . 9 ((𝑋 ∈ ( ≤ ∩ (ℕ × ℕ)) ∧ Fun (𝐹 ∖ {∅}) ∧ dom 𝐹 ⊆ (...‘𝑋)) → 𝑋 = ⟨(1st𝑋), (2nd𝑋)⟩)
1514fveq2d 6154 . . . . . . . 8 ((𝑋 ∈ ( ≤ ∩ (ℕ × ℕ)) ∧ Fun (𝐹 ∖ {∅}) ∧ dom 𝐹 ⊆ (...‘𝑋)) → (...‘𝑋) = (...‘⟨(1st𝑋), (2nd𝑋)⟩))
16 df-ov 6608 . . . . . . . . 9 ((1st𝑋)...(2nd𝑋)) = (...‘⟨(1st𝑋), (2nd𝑋)⟩)
17 fzfi 12708 . . . . . . . . 9 ((1st𝑋)...(2nd𝑋)) ∈ Fin
1816, 17eqeltrri 2701 . . . . . . . 8 (...‘⟨(1st𝑋), (2nd𝑋)⟩) ∈ Fin
1915, 18syl6eqel 2712 . . . . . . 7 ((𝑋 ∈ ( ≤ ∩ (ℕ × ℕ)) ∧ Fun (𝐹 ∖ {∅}) ∧ dom 𝐹 ⊆ (...‘𝑋)) → (...‘𝑋) ∈ Fin)
20 difss 3720 . . . . . . . . 9 (𝐹 ∖ {∅}) ⊆ 𝐹
21 dmss 5288 . . . . . . . . 9 ((𝐹 ∖ {∅}) ⊆ 𝐹 → dom (𝐹 ∖ {∅}) ⊆ dom 𝐹)
2220, 21ax-mp 5 . . . . . . . 8 dom (𝐹 ∖ {∅}) ⊆ dom 𝐹
23 simp3 1061 . . . . . . . 8 ((𝑋 ∈ ( ≤ ∩ (ℕ × ℕ)) ∧ Fun (𝐹 ∖ {∅}) ∧ dom 𝐹 ⊆ (...‘𝑋)) → dom 𝐹 ⊆ (...‘𝑋))
2422, 23syl5ss 3599 . . . . . . 7 ((𝑋 ∈ ( ≤ ∩ (ℕ × ℕ)) ∧ Fun (𝐹 ∖ {∅}) ∧ dom 𝐹 ⊆ (...‘𝑋)) → dom (𝐹 ∖ {∅}) ⊆ (...‘𝑋))
25 ssfi 8125 . . . . . . 7 (((...‘𝑋) ∈ Fin ∧ dom (𝐹 ∖ {∅}) ⊆ (...‘𝑋)) → dom (𝐹 ∖ {∅}) ∈ Fin)
2619, 24, 25syl2anc 692 . . . . . 6 ((𝑋 ∈ ( ≤ ∩ (ℕ × ℕ)) ∧ Fun (𝐹 ∖ {∅}) ∧ dom 𝐹 ⊆ (...‘𝑋)) → dom (𝐹 ∖ {∅}) ∈ Fin)
27 fnfi 8183 . . . . . 6 (((𝐹 ∖ {∅}) Fn dom (𝐹 ∖ {∅}) ∧ dom (𝐹 ∖ {∅}) ∈ Fin) → (𝐹 ∖ {∅}) ∈ Fin)
289, 26, 27syl2anc 692 . . . . 5 ((𝑋 ∈ ( ≤ ∩ (ℕ × ℕ)) ∧ Fun (𝐹 ∖ {∅}) ∧ dom 𝐹 ⊆ (...‘𝑋)) → (𝐹 ∖ {∅}) ∈ Fin)
29 p0ex 4818 . . . . 5 {∅} ∈ V
30 unexg 6913 . . . . 5 (((𝐹 ∖ {∅}) ∈ Fin ∧ {∅} ∈ V) → ((𝐹 ∖ {∅}) ∪ {∅}) ∈ V)
3128, 29, 30sylancl 693 . . . 4 ((𝑋 ∈ ( ≤ ∩ (ℕ × ℕ)) ∧ Fun (𝐹 ∖ {∅}) ∧ dom 𝐹 ⊆ (...‘𝑋)) → ((𝐹 ∖ {∅}) ∪ {∅}) ∈ V)
32 ssexg 4769 . . . 4 ((𝐹 ⊆ ((𝐹 ∖ {∅}) ∪ {∅}) ∧ ((𝐹 ∖ {∅}) ∪ {∅}) ∈ V) → 𝐹 ∈ V)
336, 31, 32sylancr 694 . . 3 ((𝑋 ∈ ( ≤ ∩ (ℕ × ℕ)) ∧ Fun (𝐹 ∖ {∅}) ∧ dom 𝐹 ⊆ (...‘𝑋)) → 𝐹 ∈ V)
34 elex 3203 . . . 4 (𝑋 ∈ ( ≤ ∩ (ℕ × ℕ)) → 𝑋 ∈ V)
35343ad2ant1 1080 . . 3 ((𝑋 ∈ ( ≤ ∩ (ℕ × ℕ)) ∧ Fun (𝐹 ∖ {∅}) ∧ dom 𝐹 ⊆ (...‘𝑋)) → 𝑋 ∈ V)
3633, 35jca 554 . 2 ((𝑋 ∈ ( ≤ ∩ (ℕ × ℕ)) ∧ Fun (𝐹 ∖ {∅}) ∧ dom 𝐹 ⊆ (...‘𝑋)) → (𝐹 ∈ V ∧ 𝑋 ∈ V))
37 simpr 477 . . . . 5 ((𝑓 = 𝐹𝑥 = 𝑋) → 𝑥 = 𝑋)
3837eleq1d 2688 . . . 4 ((𝑓 = 𝐹𝑥 = 𝑋) → (𝑥 ∈ ( ≤ ∩ (ℕ × ℕ)) ↔ 𝑋 ∈ ( ≤ ∩ (ℕ × ℕ))))
39 simpl 473 . . . . . 6 ((𝑓 = 𝐹𝑥 = 𝑋) → 𝑓 = 𝐹)
4039difeq1d 3710 . . . . 5 ((𝑓 = 𝐹𝑥 = 𝑋) → (𝑓 ∖ {∅}) = (𝐹 ∖ {∅}))
4140funeqd 5871 . . . 4 ((𝑓 = 𝐹𝑥 = 𝑋) → (Fun (𝑓 ∖ {∅}) ↔ Fun (𝐹 ∖ {∅})))
4239dmeqd 5291 . . . . 5 ((𝑓 = 𝐹𝑥 = 𝑋) → dom 𝑓 = dom 𝐹)
4337fveq2d 6154 . . . . 5 ((𝑓 = 𝐹𝑥 = 𝑋) → (...‘𝑥) = (...‘𝑋))
4442, 43sseq12d 3618 . . . 4 ((𝑓 = 𝐹𝑥 = 𝑋) → (dom 𝑓 ⊆ (...‘𝑥) ↔ dom 𝐹 ⊆ (...‘𝑋)))
4538, 41, 443anbi123d 1396 . . 3 ((𝑓 = 𝐹𝑥 = 𝑋) → ((𝑥 ∈ ( ≤ ∩ (ℕ × ℕ)) ∧ Fun (𝑓 ∖ {∅}) ∧ dom 𝑓 ⊆ (...‘𝑥)) ↔ (𝑋 ∈ ( ≤ ∩ (ℕ × ℕ)) ∧ Fun (𝐹 ∖ {∅}) ∧ dom 𝐹 ⊆ (...‘𝑋))))
46 df-struct 15778 . . 3 Struct = {⟨𝑓, 𝑥⟩ ∣ (𝑥 ∈ ( ≤ ∩ (ℕ × ℕ)) ∧ Fun (𝑓 ∖ {∅}) ∧ dom 𝑓 ⊆ (...‘𝑥))}
4745, 46brabga 4954 . 2 ((𝐹 ∈ V ∧ 𝑋 ∈ V) → (𝐹 Struct 𝑋 ↔ (𝑋 ∈ ( ≤ ∩ (ℕ × ℕ)) ∧ Fun (𝐹 ∖ {∅}) ∧ dom 𝐹 ⊆ (...‘𝑋))))
483, 36, 47pm5.21nii 368 1 (𝐹 Struct 𝑋 ↔ (𝑋 ∈ ( ≤ ∩ (ℕ × ℕ)) ∧ Fun (𝐹 ∖ {∅}) ∧ dom 𝐹 ⊆ (...‘𝑋)))
Colors of variables: wff setvar class
Syntax hints:  wb 196  wa 384  w3a 1036   = wceq 1480  wcel 1992  Vcvv 3191  cdif 3557  cun 3558  cin 3559  wss 3560  c0 3896  {csn 4153  cop 4159   class class class wbr 4618   × cxp 5077  dom cdm 5079  Rel wrel 5084  Fun wfun 5844   Fn wfn 5845  cfv 5850  (class class class)co 6605  1st c1st 7114  2nd c2nd 7115  Fincfn 7900  cle 10020  cn 10965  ...cfz 12265   Struct cstr 15772
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1719  ax-4 1734  ax-5 1841  ax-6 1890  ax-7 1937  ax-8 1994  ax-9 2001  ax-10 2021  ax-11 2036  ax-12 2049  ax-13 2250  ax-ext 2606  ax-sep 4746  ax-nul 4754  ax-pow 4808  ax-pr 4872  ax-un 6903  ax-cnex 9937  ax-resscn 9938  ax-1cn 9939  ax-icn 9940  ax-addcl 9941  ax-addrcl 9942  ax-mulcl 9943  ax-mulrcl 9944  ax-mulcom 9945  ax-addass 9946  ax-mulass 9947  ax-distr 9948  ax-i2m1 9949  ax-1ne0 9950  ax-1rid 9951  ax-rnegex 9952  ax-rrecex 9953  ax-cnre 9954  ax-pre-lttri 9955  ax-pre-lttrn 9956  ax-pre-ltadd 9957  ax-pre-mulgt0 9958
This theorem depends on definitions:  df-bi 197  df-or 385  df-an 386  df-3or 1037  df-3an 1038  df-tru 1483  df-ex 1702  df-nf 1707  df-sb 1883  df-eu 2478  df-mo 2479  df-clab 2613  df-cleq 2619  df-clel 2622  df-nfc 2756  df-ne 2797  df-nel 2900  df-ral 2917  df-rex 2918  df-reu 2919  df-rab 2921  df-v 3193  df-sbc 3423  df-csb 3520  df-dif 3563  df-un 3565  df-in 3567  df-ss 3574  df-pss 3576  df-nul 3897  df-if 4064  df-pw 4137  df-sn 4154  df-pr 4156  df-tp 4158  df-op 4160  df-uni 4408  df-int 4446  df-iun 4492  df-br 4619  df-opab 4679  df-mpt 4680  df-tr 4718  df-eprel 4990  df-id 4994  df-po 5000  df-so 5001  df-fr 5038  df-we 5040  df-xp 5085  df-rel 5086  df-cnv 5087  df-co 5088  df-dm 5089  df-rn 5090  df-res 5091  df-ima 5092  df-pred 5642  df-ord 5688  df-on 5689  df-lim 5690  df-suc 5691  df-iota 5813  df-fun 5852  df-fn 5853  df-f 5854  df-f1 5855  df-fo 5856  df-f1o 5857  df-fv 5858  df-riota 6566  df-ov 6608  df-oprab 6609  df-mpt2 6610  df-om 7014  df-1st 7116  df-2nd 7117  df-wrecs 7353  df-recs 7414  df-rdg 7452  df-1o 7506  df-oadd 7510  df-er 7688  df-en 7901  df-dom 7902  df-sdom 7903  df-fin 7904  df-pnf 10021  df-mnf 10022  df-xr 10023  df-ltxr 10024  df-le 10025  df-sub 10213  df-neg 10214  df-nn 10966  df-n0 11238  df-z 11323  df-uz 11632  df-fz 12266  df-struct 15778
This theorem is referenced by:  structn0fun  15787  isstruct  15788  setsstruct2  15812
  Copyright terms: Public domain W3C validator