Metamath Proof Explorer


Theorem isstruct2

Description: The property of being a structure with components in ( 1stX ) ... ( 2ndX ) . (Contributed by Mario Carneiro, 29-Aug-2015)

Ref Expression
Assertion isstruct2 ⊢ F Struct X ↔ X ∈ ≤ ∩ ℕ × ℕ ∧ Fun ⁡ F ∖ ∅ ∧ dom ⁡ F ⊆ … ⁡ X

Proof

Step Hyp Ref Expression
1 brstruct ⊢ Rel ⁡ Struct
2 1 brrelex12i ⊢ F Struct X → F ∈ V ∧ X ∈ V
3 ssun1 ⊢ F ⊆ F ∪ ∅
4 undif1 ⊢ F ∖ ∅ ∪ ∅ = F ∪ ∅
5 3 4 sseqtrri ⊢ F ⊆ F ∖ ∅ ∪ ∅
6 simp2 ⊢ X ∈ ≤ ∩ ℕ × ℕ ∧ Fun ⁡ F ∖ ∅ ∧ dom ⁡ F ⊆ … ⁡ X → Fun ⁡ F ∖ ∅
7 6 funfnd ⊢ X ∈ ≤ ∩ ℕ × ℕ ∧ Fun ⁡ F ∖ ∅ ∧ dom ⁡ F ⊆ … ⁡ X → F ∖ ∅ Fn dom ⁡ F ∖ ∅
8 elinel2 ⊢ X ∈ ≤ ∩ ℕ × ℕ → X ∈ ℕ × ℕ
9 1st2nd2 ⊢ X ∈ ℕ × ℕ → X = 1 st ⁡ X 2 nd ⁡ X
10 8 9 syl ⊢ X ∈ ≤ ∩ ℕ × ℕ → X = 1 st ⁡ X 2 nd ⁡ X
11 10 3ad2ant1 ⊢ X ∈ ≤ ∩ ℕ × ℕ ∧ Fun ⁡ F ∖ ∅ ∧ dom ⁡ F ⊆ … ⁡ X → X = 1 st ⁡ X 2 nd ⁡ X
12 11 fveq2d ⊢ X ∈ ≤ ∩ ℕ × ℕ ∧ Fun ⁡ F ∖ ∅ ∧ dom ⁡ F ⊆ … ⁡ X → … ⁡ X = … ⁡ 1 st ⁡ X 2 nd ⁡ X
13 df-ov ⊢ 1 st ⁡ X … 2 nd ⁡ X = … ⁡ 1 st ⁡ X 2 nd ⁡ X
14 fzfi ⊢ 1 st ⁡ X … 2 nd ⁡ X ∈ Fin
15 13 14 eqeltrri ⊢ … ⁡ 1 st ⁡ X 2 nd ⁡ X ∈ Fin
16 12 15 eqeltrdi ⊢ X ∈ ≤ ∩ ℕ × ℕ ∧ Fun ⁡ F ∖ ∅ ∧ dom ⁡ F ⊆ … ⁡ X → … ⁡ X ∈ Fin
17 difss ⊢ F ∖ ∅ ⊆ F
18 dmss ⊢ F ∖ ∅ ⊆ F → dom ⁡ F ∖ ∅ ⊆ dom ⁡ F
19 17 18 ax-mp ⊢ dom ⁡ F ∖ ∅ ⊆ dom ⁡ F
20 simp3 ⊢ X ∈ ≤ ∩ ℕ × ℕ ∧ Fun ⁡ F ∖ ∅ ∧ dom ⁡ F ⊆ … ⁡ X → dom ⁡ F ⊆ … ⁡ X
21 19 20 sstrid ⊢ X ∈ ≤ ∩ ℕ × ℕ ∧ Fun ⁡ F ∖ ∅ ∧ dom ⁡ F ⊆ … ⁡ X → dom ⁡ F ∖ ∅ ⊆ … ⁡ X
22 16 21 ssfid ⊢ X ∈ ≤ ∩ ℕ × ℕ ∧ Fun ⁡ F ∖ ∅ ∧ dom ⁡ F ⊆ … ⁡ X → dom ⁡ F ∖ ∅ ∈ Fin
23 fnfi ⊢ F ∖ ∅ Fn dom ⁡ F ∖ ∅ ∧ dom ⁡ F ∖ ∅ ∈ Fin → F ∖ ∅ ∈ Fin
24 7 22 23 syl2anc ⊢ X ∈ ≤ ∩ ℕ × ℕ ∧ Fun ⁡ F ∖ ∅ ∧ dom ⁡ F ⊆ … ⁡ X → F ∖ ∅ ∈ Fin
25 p0ex ⊢ ∅ ∈ V
26 unexg ⊢ F ∖ ∅ ∈ Fin ∧ ∅ ∈ V → F ∖ ∅ ∪ ∅ ∈ V
27 24 25 26 sylancl ⊢ X ∈ ≤ ∩ ℕ × ℕ ∧ Fun ⁡ F ∖ ∅ ∧ dom ⁡ F ⊆ … ⁡ X → F ∖ ∅ ∪ ∅ ∈ V
28 ssexg ⊢ F ⊆ F ∖ ∅ ∪ ∅ ∧ F ∖ ∅ ∪ ∅ ∈ V → F ∈ V
29 5 27 28 sylancr ⊢ X ∈ ≤ ∩ ℕ × ℕ ∧ Fun ⁡ F ∖ ∅ ∧ dom ⁡ F ⊆ … ⁡ X → F ∈ V
30 elex ⊢ X ∈ ≤ ∩ ℕ × ℕ → X ∈ V
31 30 3ad2ant1 ⊢ X ∈ ≤ ∩ ℕ × ℕ ∧ Fun ⁡ F ∖ ∅ ∧ dom ⁡ F ⊆ … ⁡ X → X ∈ V
32 29 31 jca ⊢ X ∈ ≤ ∩ ℕ × ℕ ∧ Fun ⁡ F ∖ ∅ ∧ dom ⁡ F ⊆ … ⁡ X → F ∈ V ∧ X ∈ V
33 simpr ⊢ f = F ∧ x = X → x = X
34 33 eleq1d ⊢ f = F ∧ x = X → x ∈ ≤ ∩ ℕ × ℕ ↔ X ∈ ≤ ∩ ℕ × ℕ
35 simpl ⊢ f = F ∧ x = X → f = F
36 35 difeq1d ⊢ f = F ∧ x = X → f ∖ ∅ = F ∖ ∅
37 36 funeqd ⊢ f = F ∧ x = X → Fun ⁡ f ∖ ∅ ↔ Fun ⁡ F ∖ ∅
38 35 dmeqd ⊢ f = F ∧ x = X → dom ⁡ f = dom ⁡ F
39 33 fveq2d ⊢ f = F ∧ x = X → … ⁡ x = … ⁡ X
40 38 39 sseq12d ⊢ f = F ∧ x = X → dom ⁡ f ⊆ … ⁡ x ↔ dom ⁡ F ⊆ … ⁡ X
41 34 37 40 3anbi123d ⊢ f = F ∧ x = X → x ∈ ≤ ∩ ℕ × ℕ ∧ Fun ⁡ f ∖ ∅ ∧ dom ⁡ f ⊆ … ⁡ x ↔ X ∈ ≤ ∩ ℕ × ℕ ∧ Fun ⁡ F ∖ ∅ ∧ dom ⁡ F ⊆ … ⁡ X
42 df-struct ⊢ Struct = f x | x ∈ ≤ ∩ ℕ × ℕ ∧ Fun ⁡ f ∖ ∅ ∧ dom ⁡ f ⊆ … ⁡ x
43 41 42 brabga ⊢ F ∈ V ∧ X ∈ V → F Struct X ↔ X ∈ ≤ ∩ ℕ × ℕ ∧ Fun ⁡ F ∖ ∅ ∧ dom ⁡ F ⊆ … ⁡ X
44 2 32 43 pm5.21nii ⊢ F Struct X ↔ X ∈ ≤ ∩ ℕ × ℕ ∧ Fun ⁡ F ∖ ∅ ∧ dom ⁡ F ⊆ … ⁡ X