Step |
Hyp |
Ref |
Expression |
1 |
|
isstruct2 |
⊢ ( 𝐺 Struct 𝑋 ↔ ( 𝑋 ∈ ( ≤ ∩ ( ℕ × ℕ ) ) ∧ Fun ( 𝐺 ∖ { ∅ } ) ∧ dom 𝐺 ⊆ ( ... ‘ 𝑋 ) ) ) |
2 |
|
elin |
⊢ ( 𝑋 ∈ ( ≤ ∩ ( ℕ × ℕ ) ) ↔ ( 𝑋 ∈ ≤ ∧ 𝑋 ∈ ( ℕ × ℕ ) ) ) |
3 |
|
elxp6 |
⊢ ( 𝑋 ∈ ( ℕ × ℕ ) ↔ ( 𝑋 = 〈 ( 1st ‘ 𝑋 ) , ( 2nd ‘ 𝑋 ) 〉 ∧ ( ( 1st ‘ 𝑋 ) ∈ ℕ ∧ ( 2nd ‘ 𝑋 ) ∈ ℕ ) ) ) |
4 |
|
eleq1 |
⊢ ( 𝑋 = 〈 ( 1st ‘ 𝑋 ) , ( 2nd ‘ 𝑋 ) 〉 → ( 𝑋 ∈ ≤ ↔ 〈 ( 1st ‘ 𝑋 ) , ( 2nd ‘ 𝑋 ) 〉 ∈ ≤ ) ) |
5 |
4
|
adantr |
⊢ ( ( 𝑋 = 〈 ( 1st ‘ 𝑋 ) , ( 2nd ‘ 𝑋 ) 〉 ∧ ( ( 1st ‘ 𝑋 ) ∈ ℕ ∧ ( 2nd ‘ 𝑋 ) ∈ ℕ ) ) → ( 𝑋 ∈ ≤ ↔ 〈 ( 1st ‘ 𝑋 ) , ( 2nd ‘ 𝑋 ) 〉 ∈ ≤ ) ) |
6 |
|
simp3 |
⊢ ( ( ( ( 1st ‘ 𝑋 ) ∈ ℕ ∧ ( 2nd ‘ 𝑋 ) ∈ ℕ ) ∧ 〈 ( 1st ‘ 𝑋 ) , ( 2nd ‘ 𝑋 ) 〉 ∈ ≤ ∧ 𝐼 ∈ ℕ ) → 𝐼 ∈ ℕ ) |
7 |
|
simp1l |
⊢ ( ( ( ( 1st ‘ 𝑋 ) ∈ ℕ ∧ ( 2nd ‘ 𝑋 ) ∈ ℕ ) ∧ 〈 ( 1st ‘ 𝑋 ) , ( 2nd ‘ 𝑋 ) 〉 ∈ ≤ ∧ 𝐼 ∈ ℕ ) → ( 1st ‘ 𝑋 ) ∈ ℕ ) |
8 |
6 7
|
ifcld |
⊢ ( ( ( ( 1st ‘ 𝑋 ) ∈ ℕ ∧ ( 2nd ‘ 𝑋 ) ∈ ℕ ) ∧ 〈 ( 1st ‘ 𝑋 ) , ( 2nd ‘ 𝑋 ) 〉 ∈ ≤ ∧ 𝐼 ∈ ℕ ) → if ( 𝐼 ≤ ( 1st ‘ 𝑋 ) , 𝐼 , ( 1st ‘ 𝑋 ) ) ∈ ℕ ) |
9 |
8
|
nnred |
⊢ ( ( ( ( 1st ‘ 𝑋 ) ∈ ℕ ∧ ( 2nd ‘ 𝑋 ) ∈ ℕ ) ∧ 〈 ( 1st ‘ 𝑋 ) , ( 2nd ‘ 𝑋 ) 〉 ∈ ≤ ∧ 𝐼 ∈ ℕ ) → if ( 𝐼 ≤ ( 1st ‘ 𝑋 ) , 𝐼 , ( 1st ‘ 𝑋 ) ) ∈ ℝ ) |
10 |
6
|
nnred |
⊢ ( ( ( ( 1st ‘ 𝑋 ) ∈ ℕ ∧ ( 2nd ‘ 𝑋 ) ∈ ℕ ) ∧ 〈 ( 1st ‘ 𝑋 ) , ( 2nd ‘ 𝑋 ) 〉 ∈ ≤ ∧ 𝐼 ∈ ℕ ) → 𝐼 ∈ ℝ ) |
11 |
|
simp1r |
⊢ ( ( ( ( 1st ‘ 𝑋 ) ∈ ℕ ∧ ( 2nd ‘ 𝑋 ) ∈ ℕ ) ∧ 〈 ( 1st ‘ 𝑋 ) , ( 2nd ‘ 𝑋 ) 〉 ∈ ≤ ∧ 𝐼 ∈ ℕ ) → ( 2nd ‘ 𝑋 ) ∈ ℕ ) |
12 |
11 6
|
ifcld |
⊢ ( ( ( ( 1st ‘ 𝑋 ) ∈ ℕ ∧ ( 2nd ‘ 𝑋 ) ∈ ℕ ) ∧ 〈 ( 1st ‘ 𝑋 ) , ( 2nd ‘ 𝑋 ) 〉 ∈ ≤ ∧ 𝐼 ∈ ℕ ) → if ( 𝐼 ≤ ( 2nd ‘ 𝑋 ) , ( 2nd ‘ 𝑋 ) , 𝐼 ) ∈ ℕ ) |
13 |
12
|
nnred |
⊢ ( ( ( ( 1st ‘ 𝑋 ) ∈ ℕ ∧ ( 2nd ‘ 𝑋 ) ∈ ℕ ) ∧ 〈 ( 1st ‘ 𝑋 ) , ( 2nd ‘ 𝑋 ) 〉 ∈ ≤ ∧ 𝐼 ∈ ℕ ) → if ( 𝐼 ≤ ( 2nd ‘ 𝑋 ) , ( 2nd ‘ 𝑋 ) , 𝐼 ) ∈ ℝ ) |
14 |
|
nnre |
⊢ ( ( 1st ‘ 𝑋 ) ∈ ℕ → ( 1st ‘ 𝑋 ) ∈ ℝ ) |
15 |
14
|
adantr |
⊢ ( ( ( 1st ‘ 𝑋 ) ∈ ℕ ∧ ( 2nd ‘ 𝑋 ) ∈ ℕ ) → ( 1st ‘ 𝑋 ) ∈ ℝ ) |
16 |
|
nnre |
⊢ ( 𝐼 ∈ ℕ → 𝐼 ∈ ℝ ) |
17 |
15 16
|
anim12i |
⊢ ( ( ( ( 1st ‘ 𝑋 ) ∈ ℕ ∧ ( 2nd ‘ 𝑋 ) ∈ ℕ ) ∧ 𝐼 ∈ ℕ ) → ( ( 1st ‘ 𝑋 ) ∈ ℝ ∧ 𝐼 ∈ ℝ ) ) |
18 |
17
|
3adant2 |
⊢ ( ( ( ( 1st ‘ 𝑋 ) ∈ ℕ ∧ ( 2nd ‘ 𝑋 ) ∈ ℕ ) ∧ 〈 ( 1st ‘ 𝑋 ) , ( 2nd ‘ 𝑋 ) 〉 ∈ ≤ ∧ 𝐼 ∈ ℕ ) → ( ( 1st ‘ 𝑋 ) ∈ ℝ ∧ 𝐼 ∈ ℝ ) ) |
19 |
18
|
ancomd |
⊢ ( ( ( ( 1st ‘ 𝑋 ) ∈ ℕ ∧ ( 2nd ‘ 𝑋 ) ∈ ℕ ) ∧ 〈 ( 1st ‘ 𝑋 ) , ( 2nd ‘ 𝑋 ) 〉 ∈ ≤ ∧ 𝐼 ∈ ℕ ) → ( 𝐼 ∈ ℝ ∧ ( 1st ‘ 𝑋 ) ∈ ℝ ) ) |
20 |
|
min1 |
⊢ ( ( 𝐼 ∈ ℝ ∧ ( 1st ‘ 𝑋 ) ∈ ℝ ) → if ( 𝐼 ≤ ( 1st ‘ 𝑋 ) , 𝐼 , ( 1st ‘ 𝑋 ) ) ≤ 𝐼 ) |
21 |
19 20
|
syl |
⊢ ( ( ( ( 1st ‘ 𝑋 ) ∈ ℕ ∧ ( 2nd ‘ 𝑋 ) ∈ ℕ ) ∧ 〈 ( 1st ‘ 𝑋 ) , ( 2nd ‘ 𝑋 ) 〉 ∈ ≤ ∧ 𝐼 ∈ ℕ ) → if ( 𝐼 ≤ ( 1st ‘ 𝑋 ) , 𝐼 , ( 1st ‘ 𝑋 ) ) ≤ 𝐼 ) |
22 |
|
nnre |
⊢ ( ( 2nd ‘ 𝑋 ) ∈ ℕ → ( 2nd ‘ 𝑋 ) ∈ ℝ ) |
23 |
22
|
adantl |
⊢ ( ( ( 1st ‘ 𝑋 ) ∈ ℕ ∧ ( 2nd ‘ 𝑋 ) ∈ ℕ ) → ( 2nd ‘ 𝑋 ) ∈ ℝ ) |
24 |
23 16
|
anim12i |
⊢ ( ( ( ( 1st ‘ 𝑋 ) ∈ ℕ ∧ ( 2nd ‘ 𝑋 ) ∈ ℕ ) ∧ 𝐼 ∈ ℕ ) → ( ( 2nd ‘ 𝑋 ) ∈ ℝ ∧ 𝐼 ∈ ℝ ) ) |
25 |
24
|
3adant2 |
⊢ ( ( ( ( 1st ‘ 𝑋 ) ∈ ℕ ∧ ( 2nd ‘ 𝑋 ) ∈ ℕ ) ∧ 〈 ( 1st ‘ 𝑋 ) , ( 2nd ‘ 𝑋 ) 〉 ∈ ≤ ∧ 𝐼 ∈ ℕ ) → ( ( 2nd ‘ 𝑋 ) ∈ ℝ ∧ 𝐼 ∈ ℝ ) ) |
26 |
25
|
ancomd |
⊢ ( ( ( ( 1st ‘ 𝑋 ) ∈ ℕ ∧ ( 2nd ‘ 𝑋 ) ∈ ℕ ) ∧ 〈 ( 1st ‘ 𝑋 ) , ( 2nd ‘ 𝑋 ) 〉 ∈ ≤ ∧ 𝐼 ∈ ℕ ) → ( 𝐼 ∈ ℝ ∧ ( 2nd ‘ 𝑋 ) ∈ ℝ ) ) |
27 |
|
max1 |
⊢ ( ( 𝐼 ∈ ℝ ∧ ( 2nd ‘ 𝑋 ) ∈ ℝ ) → 𝐼 ≤ if ( 𝐼 ≤ ( 2nd ‘ 𝑋 ) , ( 2nd ‘ 𝑋 ) , 𝐼 ) ) |
28 |
26 27
|
syl |
⊢ ( ( ( ( 1st ‘ 𝑋 ) ∈ ℕ ∧ ( 2nd ‘ 𝑋 ) ∈ ℕ ) ∧ 〈 ( 1st ‘ 𝑋 ) , ( 2nd ‘ 𝑋 ) 〉 ∈ ≤ ∧ 𝐼 ∈ ℕ ) → 𝐼 ≤ if ( 𝐼 ≤ ( 2nd ‘ 𝑋 ) , ( 2nd ‘ 𝑋 ) , 𝐼 ) ) |
29 |
9 10 13 21 28
|
letrd |
⊢ ( ( ( ( 1st ‘ 𝑋 ) ∈ ℕ ∧ ( 2nd ‘ 𝑋 ) ∈ ℕ ) ∧ 〈 ( 1st ‘ 𝑋 ) , ( 2nd ‘ 𝑋 ) 〉 ∈ ≤ ∧ 𝐼 ∈ ℕ ) → if ( 𝐼 ≤ ( 1st ‘ 𝑋 ) , 𝐼 , ( 1st ‘ 𝑋 ) ) ≤ if ( 𝐼 ≤ ( 2nd ‘ 𝑋 ) , ( 2nd ‘ 𝑋 ) , 𝐼 ) ) |
30 |
|
df-br |
⊢ ( if ( 𝐼 ≤ ( 1st ‘ 𝑋 ) , 𝐼 , ( 1st ‘ 𝑋 ) ) ≤ if ( 𝐼 ≤ ( 2nd ‘ 𝑋 ) , ( 2nd ‘ 𝑋 ) , 𝐼 ) ↔ 〈 if ( 𝐼 ≤ ( 1st ‘ 𝑋 ) , 𝐼 , ( 1st ‘ 𝑋 ) ) , if ( 𝐼 ≤ ( 2nd ‘ 𝑋 ) , ( 2nd ‘ 𝑋 ) , 𝐼 ) 〉 ∈ ≤ ) |
31 |
29 30
|
sylib |
⊢ ( ( ( ( 1st ‘ 𝑋 ) ∈ ℕ ∧ ( 2nd ‘ 𝑋 ) ∈ ℕ ) ∧ 〈 ( 1st ‘ 𝑋 ) , ( 2nd ‘ 𝑋 ) 〉 ∈ ≤ ∧ 𝐼 ∈ ℕ ) → 〈 if ( 𝐼 ≤ ( 1st ‘ 𝑋 ) , 𝐼 , ( 1st ‘ 𝑋 ) ) , if ( 𝐼 ≤ ( 2nd ‘ 𝑋 ) , ( 2nd ‘ 𝑋 ) , 𝐼 ) 〉 ∈ ≤ ) |
32 |
8 12
|
opelxpd |
⊢ ( ( ( ( 1st ‘ 𝑋 ) ∈ ℕ ∧ ( 2nd ‘ 𝑋 ) ∈ ℕ ) ∧ 〈 ( 1st ‘ 𝑋 ) , ( 2nd ‘ 𝑋 ) 〉 ∈ ≤ ∧ 𝐼 ∈ ℕ ) → 〈 if ( 𝐼 ≤ ( 1st ‘ 𝑋 ) , 𝐼 , ( 1st ‘ 𝑋 ) ) , if ( 𝐼 ≤ ( 2nd ‘ 𝑋 ) , ( 2nd ‘ 𝑋 ) , 𝐼 ) 〉 ∈ ( ℕ × ℕ ) ) |
33 |
31 32
|
elind |
⊢ ( ( ( ( 1st ‘ 𝑋 ) ∈ ℕ ∧ ( 2nd ‘ 𝑋 ) ∈ ℕ ) ∧ 〈 ( 1st ‘ 𝑋 ) , ( 2nd ‘ 𝑋 ) 〉 ∈ ≤ ∧ 𝐼 ∈ ℕ ) → 〈 if ( 𝐼 ≤ ( 1st ‘ 𝑋 ) , 𝐼 , ( 1st ‘ 𝑋 ) ) , if ( 𝐼 ≤ ( 2nd ‘ 𝑋 ) , ( 2nd ‘ 𝑋 ) , 𝐼 ) 〉 ∈ ( ≤ ∩ ( ℕ × ℕ ) ) ) |
34 |
33
|
3exp |
⊢ ( ( ( 1st ‘ 𝑋 ) ∈ ℕ ∧ ( 2nd ‘ 𝑋 ) ∈ ℕ ) → ( 〈 ( 1st ‘ 𝑋 ) , ( 2nd ‘ 𝑋 ) 〉 ∈ ≤ → ( 𝐼 ∈ ℕ → 〈 if ( 𝐼 ≤ ( 1st ‘ 𝑋 ) , 𝐼 , ( 1st ‘ 𝑋 ) ) , if ( 𝐼 ≤ ( 2nd ‘ 𝑋 ) , ( 2nd ‘ 𝑋 ) , 𝐼 ) 〉 ∈ ( ≤ ∩ ( ℕ × ℕ ) ) ) ) ) |
35 |
34
|
adantl |
⊢ ( ( 𝑋 = 〈 ( 1st ‘ 𝑋 ) , ( 2nd ‘ 𝑋 ) 〉 ∧ ( ( 1st ‘ 𝑋 ) ∈ ℕ ∧ ( 2nd ‘ 𝑋 ) ∈ ℕ ) ) → ( 〈 ( 1st ‘ 𝑋 ) , ( 2nd ‘ 𝑋 ) 〉 ∈ ≤ → ( 𝐼 ∈ ℕ → 〈 if ( 𝐼 ≤ ( 1st ‘ 𝑋 ) , 𝐼 , ( 1st ‘ 𝑋 ) ) , if ( 𝐼 ≤ ( 2nd ‘ 𝑋 ) , ( 2nd ‘ 𝑋 ) , 𝐼 ) 〉 ∈ ( ≤ ∩ ( ℕ × ℕ ) ) ) ) ) |
36 |
5 35
|
sylbid |
⊢ ( ( 𝑋 = 〈 ( 1st ‘ 𝑋 ) , ( 2nd ‘ 𝑋 ) 〉 ∧ ( ( 1st ‘ 𝑋 ) ∈ ℕ ∧ ( 2nd ‘ 𝑋 ) ∈ ℕ ) ) → ( 𝑋 ∈ ≤ → ( 𝐼 ∈ ℕ → 〈 if ( 𝐼 ≤ ( 1st ‘ 𝑋 ) , 𝐼 , ( 1st ‘ 𝑋 ) ) , if ( 𝐼 ≤ ( 2nd ‘ 𝑋 ) , ( 2nd ‘ 𝑋 ) , 𝐼 ) 〉 ∈ ( ≤ ∩ ( ℕ × ℕ ) ) ) ) ) |
37 |
3 36
|
sylbi |
⊢ ( 𝑋 ∈ ( ℕ × ℕ ) → ( 𝑋 ∈ ≤ → ( 𝐼 ∈ ℕ → 〈 if ( 𝐼 ≤ ( 1st ‘ 𝑋 ) , 𝐼 , ( 1st ‘ 𝑋 ) ) , if ( 𝐼 ≤ ( 2nd ‘ 𝑋 ) , ( 2nd ‘ 𝑋 ) , 𝐼 ) 〉 ∈ ( ≤ ∩ ( ℕ × ℕ ) ) ) ) ) |
38 |
37
|
impcom |
⊢ ( ( 𝑋 ∈ ≤ ∧ 𝑋 ∈ ( ℕ × ℕ ) ) → ( 𝐼 ∈ ℕ → 〈 if ( 𝐼 ≤ ( 1st ‘ 𝑋 ) , 𝐼 , ( 1st ‘ 𝑋 ) ) , if ( 𝐼 ≤ ( 2nd ‘ 𝑋 ) , ( 2nd ‘ 𝑋 ) , 𝐼 ) 〉 ∈ ( ≤ ∩ ( ℕ × ℕ ) ) ) ) |
39 |
2 38
|
sylbi |
⊢ ( 𝑋 ∈ ( ≤ ∩ ( ℕ × ℕ ) ) → ( 𝐼 ∈ ℕ → 〈 if ( 𝐼 ≤ ( 1st ‘ 𝑋 ) , 𝐼 , ( 1st ‘ 𝑋 ) ) , if ( 𝐼 ≤ ( 2nd ‘ 𝑋 ) , ( 2nd ‘ 𝑋 ) , 𝐼 ) 〉 ∈ ( ≤ ∩ ( ℕ × ℕ ) ) ) ) |
40 |
39
|
3ad2ant1 |
⊢ ( ( 𝑋 ∈ ( ≤ ∩ ( ℕ × ℕ ) ) ∧ Fun ( 𝐺 ∖ { ∅ } ) ∧ dom 𝐺 ⊆ ( ... ‘ 𝑋 ) ) → ( 𝐼 ∈ ℕ → 〈 if ( 𝐼 ≤ ( 1st ‘ 𝑋 ) , 𝐼 , ( 1st ‘ 𝑋 ) ) , if ( 𝐼 ≤ ( 2nd ‘ 𝑋 ) , ( 2nd ‘ 𝑋 ) , 𝐼 ) 〉 ∈ ( ≤ ∩ ( ℕ × ℕ ) ) ) ) |
41 |
1 40
|
sylbi |
⊢ ( 𝐺 Struct 𝑋 → ( 𝐼 ∈ ℕ → 〈 if ( 𝐼 ≤ ( 1st ‘ 𝑋 ) , 𝐼 , ( 1st ‘ 𝑋 ) ) , if ( 𝐼 ≤ ( 2nd ‘ 𝑋 ) , ( 2nd ‘ 𝑋 ) , 𝐼 ) 〉 ∈ ( ≤ ∩ ( ℕ × ℕ ) ) ) ) |
42 |
41
|
imp |
⊢ ( ( 𝐺 Struct 𝑋 ∧ 𝐼 ∈ ℕ ) → 〈 if ( 𝐼 ≤ ( 1st ‘ 𝑋 ) , 𝐼 , ( 1st ‘ 𝑋 ) ) , if ( 𝐼 ≤ ( 2nd ‘ 𝑋 ) , ( 2nd ‘ 𝑋 ) , 𝐼 ) 〉 ∈ ( ≤ ∩ ( ℕ × ℕ ) ) ) |
43 |
42
|
3adant2 |
⊢ ( ( 𝐺 Struct 𝑋 ∧ 𝐸 ∈ 𝑉 ∧ 𝐼 ∈ ℕ ) → 〈 if ( 𝐼 ≤ ( 1st ‘ 𝑋 ) , 𝐼 , ( 1st ‘ 𝑋 ) ) , if ( 𝐼 ≤ ( 2nd ‘ 𝑋 ) , ( 2nd ‘ 𝑋 ) , 𝐼 ) 〉 ∈ ( ≤ ∩ ( ℕ × ℕ ) ) ) |
44 |
|
structex |
⊢ ( 𝐺 Struct 𝑋 → 𝐺 ∈ V ) |
45 |
|
structn0fun |
⊢ ( 𝐺 Struct 𝑋 → Fun ( 𝐺 ∖ { ∅ } ) ) |
46 |
44 45
|
jca |
⊢ ( 𝐺 Struct 𝑋 → ( 𝐺 ∈ V ∧ Fun ( 𝐺 ∖ { ∅ } ) ) ) |
47 |
46
|
3ad2ant1 |
⊢ ( ( 𝐺 Struct 𝑋 ∧ 𝐸 ∈ 𝑉 ∧ 𝐼 ∈ ℕ ) → ( 𝐺 ∈ V ∧ Fun ( 𝐺 ∖ { ∅ } ) ) ) |
48 |
|
simp3 |
⊢ ( ( 𝐺 Struct 𝑋 ∧ 𝐸 ∈ 𝑉 ∧ 𝐼 ∈ ℕ ) → 𝐼 ∈ ℕ ) |
49 |
|
simp2 |
⊢ ( ( 𝐺 Struct 𝑋 ∧ 𝐸 ∈ 𝑉 ∧ 𝐼 ∈ ℕ ) → 𝐸 ∈ 𝑉 ) |
50 |
|
setsfun0 |
⊢ ( ( ( 𝐺 ∈ V ∧ Fun ( 𝐺 ∖ { ∅ } ) ) ∧ ( 𝐼 ∈ ℕ ∧ 𝐸 ∈ 𝑉 ) ) → Fun ( ( 𝐺 sSet 〈 𝐼 , 𝐸 〉 ) ∖ { ∅ } ) ) |
51 |
47 48 49 50
|
syl12anc |
⊢ ( ( 𝐺 Struct 𝑋 ∧ 𝐸 ∈ 𝑉 ∧ 𝐼 ∈ ℕ ) → Fun ( ( 𝐺 sSet 〈 𝐼 , 𝐸 〉 ) ∖ { ∅ } ) ) |
52 |
44
|
3ad2ant1 |
⊢ ( ( 𝐺 Struct 𝑋 ∧ 𝐸 ∈ 𝑉 ∧ 𝐼 ∈ ℕ ) → 𝐺 ∈ V ) |
53 |
|
setsdm |
⊢ ( ( 𝐺 ∈ V ∧ 𝐸 ∈ 𝑉 ) → dom ( 𝐺 sSet 〈 𝐼 , 𝐸 〉 ) = ( dom 𝐺 ∪ { 𝐼 } ) ) |
54 |
52 49 53
|
syl2anc |
⊢ ( ( 𝐺 Struct 𝑋 ∧ 𝐸 ∈ 𝑉 ∧ 𝐼 ∈ ℕ ) → dom ( 𝐺 sSet 〈 𝐼 , 𝐸 〉 ) = ( dom 𝐺 ∪ { 𝐼 } ) ) |
55 |
|
fveq2 |
⊢ ( 𝑋 = 〈 ( 1st ‘ 𝑋 ) , ( 2nd ‘ 𝑋 ) 〉 → ( ... ‘ 𝑋 ) = ( ... ‘ 〈 ( 1st ‘ 𝑋 ) , ( 2nd ‘ 𝑋 ) 〉 ) ) |
56 |
|
df-ov |
⊢ ( ( 1st ‘ 𝑋 ) ... ( 2nd ‘ 𝑋 ) ) = ( ... ‘ 〈 ( 1st ‘ 𝑋 ) , ( 2nd ‘ 𝑋 ) 〉 ) |
57 |
55 56
|
eqtr4di |
⊢ ( 𝑋 = 〈 ( 1st ‘ 𝑋 ) , ( 2nd ‘ 𝑋 ) 〉 → ( ... ‘ 𝑋 ) = ( ( 1st ‘ 𝑋 ) ... ( 2nd ‘ 𝑋 ) ) ) |
58 |
57
|
sseq2d |
⊢ ( 𝑋 = 〈 ( 1st ‘ 𝑋 ) , ( 2nd ‘ 𝑋 ) 〉 → ( dom 𝐺 ⊆ ( ... ‘ 𝑋 ) ↔ dom 𝐺 ⊆ ( ( 1st ‘ 𝑋 ) ... ( 2nd ‘ 𝑋 ) ) ) ) |
59 |
58
|
adantr |
⊢ ( ( 𝑋 = 〈 ( 1st ‘ 𝑋 ) , ( 2nd ‘ 𝑋 ) 〉 ∧ ( ( 1st ‘ 𝑋 ) ∈ ℕ ∧ ( 2nd ‘ 𝑋 ) ∈ ℕ ) ) → ( dom 𝐺 ⊆ ( ... ‘ 𝑋 ) ↔ dom 𝐺 ⊆ ( ( 1st ‘ 𝑋 ) ... ( 2nd ‘ 𝑋 ) ) ) ) |
60 |
|
df-3an |
⊢ ( ( ( 1st ‘ 𝑋 ) ∈ ℕ ∧ ( 2nd ‘ 𝑋 ) ∈ ℕ ∧ 𝐼 ∈ ℕ ) ↔ ( ( ( 1st ‘ 𝑋 ) ∈ ℕ ∧ ( 2nd ‘ 𝑋 ) ∈ ℕ ) ∧ 𝐼 ∈ ℕ ) ) |
61 |
|
nnz |
⊢ ( ( 1st ‘ 𝑋 ) ∈ ℕ → ( 1st ‘ 𝑋 ) ∈ ℤ ) |
62 |
|
nnz |
⊢ ( ( 2nd ‘ 𝑋 ) ∈ ℕ → ( 2nd ‘ 𝑋 ) ∈ ℤ ) |
63 |
|
nnz |
⊢ ( 𝐼 ∈ ℕ → 𝐼 ∈ ℤ ) |
64 |
61 62 63
|
3anim123i |
⊢ ( ( ( 1st ‘ 𝑋 ) ∈ ℕ ∧ ( 2nd ‘ 𝑋 ) ∈ ℕ ∧ 𝐼 ∈ ℕ ) → ( ( 1st ‘ 𝑋 ) ∈ ℤ ∧ ( 2nd ‘ 𝑋 ) ∈ ℤ ∧ 𝐼 ∈ ℤ ) ) |
65 |
|
ssfzunsnext |
⊢ ( ( dom 𝐺 ⊆ ( ( 1st ‘ 𝑋 ) ... ( 2nd ‘ 𝑋 ) ) ∧ ( ( 1st ‘ 𝑋 ) ∈ ℤ ∧ ( 2nd ‘ 𝑋 ) ∈ ℤ ∧ 𝐼 ∈ ℤ ) ) → ( dom 𝐺 ∪ { 𝐼 } ) ⊆ ( if ( 𝐼 ≤ ( 1st ‘ 𝑋 ) , 𝐼 , ( 1st ‘ 𝑋 ) ) ... if ( 𝐼 ≤ ( 2nd ‘ 𝑋 ) , ( 2nd ‘ 𝑋 ) , 𝐼 ) ) ) |
66 |
|
df-ov |
⊢ ( if ( 𝐼 ≤ ( 1st ‘ 𝑋 ) , 𝐼 , ( 1st ‘ 𝑋 ) ) ... if ( 𝐼 ≤ ( 2nd ‘ 𝑋 ) , ( 2nd ‘ 𝑋 ) , 𝐼 ) ) = ( ... ‘ 〈 if ( 𝐼 ≤ ( 1st ‘ 𝑋 ) , 𝐼 , ( 1st ‘ 𝑋 ) ) , if ( 𝐼 ≤ ( 2nd ‘ 𝑋 ) , ( 2nd ‘ 𝑋 ) , 𝐼 ) 〉 ) |
67 |
65 66
|
sseqtrdi |
⊢ ( ( dom 𝐺 ⊆ ( ( 1st ‘ 𝑋 ) ... ( 2nd ‘ 𝑋 ) ) ∧ ( ( 1st ‘ 𝑋 ) ∈ ℤ ∧ ( 2nd ‘ 𝑋 ) ∈ ℤ ∧ 𝐼 ∈ ℤ ) ) → ( dom 𝐺 ∪ { 𝐼 } ) ⊆ ( ... ‘ 〈 if ( 𝐼 ≤ ( 1st ‘ 𝑋 ) , 𝐼 , ( 1st ‘ 𝑋 ) ) , if ( 𝐼 ≤ ( 2nd ‘ 𝑋 ) , ( 2nd ‘ 𝑋 ) , 𝐼 ) 〉 ) ) |
68 |
64 67
|
sylan2 |
⊢ ( ( dom 𝐺 ⊆ ( ( 1st ‘ 𝑋 ) ... ( 2nd ‘ 𝑋 ) ) ∧ ( ( 1st ‘ 𝑋 ) ∈ ℕ ∧ ( 2nd ‘ 𝑋 ) ∈ ℕ ∧ 𝐼 ∈ ℕ ) ) → ( dom 𝐺 ∪ { 𝐼 } ) ⊆ ( ... ‘ 〈 if ( 𝐼 ≤ ( 1st ‘ 𝑋 ) , 𝐼 , ( 1st ‘ 𝑋 ) ) , if ( 𝐼 ≤ ( 2nd ‘ 𝑋 ) , ( 2nd ‘ 𝑋 ) , 𝐼 ) 〉 ) ) |
69 |
68
|
ex |
⊢ ( dom 𝐺 ⊆ ( ( 1st ‘ 𝑋 ) ... ( 2nd ‘ 𝑋 ) ) → ( ( ( 1st ‘ 𝑋 ) ∈ ℕ ∧ ( 2nd ‘ 𝑋 ) ∈ ℕ ∧ 𝐼 ∈ ℕ ) → ( dom 𝐺 ∪ { 𝐼 } ) ⊆ ( ... ‘ 〈 if ( 𝐼 ≤ ( 1st ‘ 𝑋 ) , 𝐼 , ( 1st ‘ 𝑋 ) ) , if ( 𝐼 ≤ ( 2nd ‘ 𝑋 ) , ( 2nd ‘ 𝑋 ) , 𝐼 ) 〉 ) ) ) |
70 |
60 69
|
syl5bir |
⊢ ( dom 𝐺 ⊆ ( ( 1st ‘ 𝑋 ) ... ( 2nd ‘ 𝑋 ) ) → ( ( ( ( 1st ‘ 𝑋 ) ∈ ℕ ∧ ( 2nd ‘ 𝑋 ) ∈ ℕ ) ∧ 𝐼 ∈ ℕ ) → ( dom 𝐺 ∪ { 𝐼 } ) ⊆ ( ... ‘ 〈 if ( 𝐼 ≤ ( 1st ‘ 𝑋 ) , 𝐼 , ( 1st ‘ 𝑋 ) ) , if ( 𝐼 ≤ ( 2nd ‘ 𝑋 ) , ( 2nd ‘ 𝑋 ) , 𝐼 ) 〉 ) ) ) |
71 |
70
|
expd |
⊢ ( dom 𝐺 ⊆ ( ( 1st ‘ 𝑋 ) ... ( 2nd ‘ 𝑋 ) ) → ( ( ( 1st ‘ 𝑋 ) ∈ ℕ ∧ ( 2nd ‘ 𝑋 ) ∈ ℕ ) → ( 𝐼 ∈ ℕ → ( dom 𝐺 ∪ { 𝐼 } ) ⊆ ( ... ‘ 〈 if ( 𝐼 ≤ ( 1st ‘ 𝑋 ) , 𝐼 , ( 1st ‘ 𝑋 ) ) , if ( 𝐼 ≤ ( 2nd ‘ 𝑋 ) , ( 2nd ‘ 𝑋 ) , 𝐼 ) 〉 ) ) ) ) |
72 |
71
|
com12 |
⊢ ( ( ( 1st ‘ 𝑋 ) ∈ ℕ ∧ ( 2nd ‘ 𝑋 ) ∈ ℕ ) → ( dom 𝐺 ⊆ ( ( 1st ‘ 𝑋 ) ... ( 2nd ‘ 𝑋 ) ) → ( 𝐼 ∈ ℕ → ( dom 𝐺 ∪ { 𝐼 } ) ⊆ ( ... ‘ 〈 if ( 𝐼 ≤ ( 1st ‘ 𝑋 ) , 𝐼 , ( 1st ‘ 𝑋 ) ) , if ( 𝐼 ≤ ( 2nd ‘ 𝑋 ) , ( 2nd ‘ 𝑋 ) , 𝐼 ) 〉 ) ) ) ) |
73 |
72
|
adantl |
⊢ ( ( 𝑋 = 〈 ( 1st ‘ 𝑋 ) , ( 2nd ‘ 𝑋 ) 〉 ∧ ( ( 1st ‘ 𝑋 ) ∈ ℕ ∧ ( 2nd ‘ 𝑋 ) ∈ ℕ ) ) → ( dom 𝐺 ⊆ ( ( 1st ‘ 𝑋 ) ... ( 2nd ‘ 𝑋 ) ) → ( 𝐼 ∈ ℕ → ( dom 𝐺 ∪ { 𝐼 } ) ⊆ ( ... ‘ 〈 if ( 𝐼 ≤ ( 1st ‘ 𝑋 ) , 𝐼 , ( 1st ‘ 𝑋 ) ) , if ( 𝐼 ≤ ( 2nd ‘ 𝑋 ) , ( 2nd ‘ 𝑋 ) , 𝐼 ) 〉 ) ) ) ) |
74 |
59 73
|
sylbid |
⊢ ( ( 𝑋 = 〈 ( 1st ‘ 𝑋 ) , ( 2nd ‘ 𝑋 ) 〉 ∧ ( ( 1st ‘ 𝑋 ) ∈ ℕ ∧ ( 2nd ‘ 𝑋 ) ∈ ℕ ) ) → ( dom 𝐺 ⊆ ( ... ‘ 𝑋 ) → ( 𝐼 ∈ ℕ → ( dom 𝐺 ∪ { 𝐼 } ) ⊆ ( ... ‘ 〈 if ( 𝐼 ≤ ( 1st ‘ 𝑋 ) , 𝐼 , ( 1st ‘ 𝑋 ) ) , if ( 𝐼 ≤ ( 2nd ‘ 𝑋 ) , ( 2nd ‘ 𝑋 ) , 𝐼 ) 〉 ) ) ) ) |
75 |
3 74
|
sylbi |
⊢ ( 𝑋 ∈ ( ℕ × ℕ ) → ( dom 𝐺 ⊆ ( ... ‘ 𝑋 ) → ( 𝐼 ∈ ℕ → ( dom 𝐺 ∪ { 𝐼 } ) ⊆ ( ... ‘ 〈 if ( 𝐼 ≤ ( 1st ‘ 𝑋 ) , 𝐼 , ( 1st ‘ 𝑋 ) ) , if ( 𝐼 ≤ ( 2nd ‘ 𝑋 ) , ( 2nd ‘ 𝑋 ) , 𝐼 ) 〉 ) ) ) ) |
76 |
75
|
adantl |
⊢ ( ( 𝑋 ∈ ≤ ∧ 𝑋 ∈ ( ℕ × ℕ ) ) → ( dom 𝐺 ⊆ ( ... ‘ 𝑋 ) → ( 𝐼 ∈ ℕ → ( dom 𝐺 ∪ { 𝐼 } ) ⊆ ( ... ‘ 〈 if ( 𝐼 ≤ ( 1st ‘ 𝑋 ) , 𝐼 , ( 1st ‘ 𝑋 ) ) , if ( 𝐼 ≤ ( 2nd ‘ 𝑋 ) , ( 2nd ‘ 𝑋 ) , 𝐼 ) 〉 ) ) ) ) |
77 |
2 76
|
sylbi |
⊢ ( 𝑋 ∈ ( ≤ ∩ ( ℕ × ℕ ) ) → ( dom 𝐺 ⊆ ( ... ‘ 𝑋 ) → ( 𝐼 ∈ ℕ → ( dom 𝐺 ∪ { 𝐼 } ) ⊆ ( ... ‘ 〈 if ( 𝐼 ≤ ( 1st ‘ 𝑋 ) , 𝐼 , ( 1st ‘ 𝑋 ) ) , if ( 𝐼 ≤ ( 2nd ‘ 𝑋 ) , ( 2nd ‘ 𝑋 ) , 𝐼 ) 〉 ) ) ) ) |
78 |
77
|
imp |
⊢ ( ( 𝑋 ∈ ( ≤ ∩ ( ℕ × ℕ ) ) ∧ dom 𝐺 ⊆ ( ... ‘ 𝑋 ) ) → ( 𝐼 ∈ ℕ → ( dom 𝐺 ∪ { 𝐼 } ) ⊆ ( ... ‘ 〈 if ( 𝐼 ≤ ( 1st ‘ 𝑋 ) , 𝐼 , ( 1st ‘ 𝑋 ) ) , if ( 𝐼 ≤ ( 2nd ‘ 𝑋 ) , ( 2nd ‘ 𝑋 ) , 𝐼 ) 〉 ) ) ) |
79 |
78
|
3adant2 |
⊢ ( ( 𝑋 ∈ ( ≤ ∩ ( ℕ × ℕ ) ) ∧ Fun ( 𝐺 ∖ { ∅ } ) ∧ dom 𝐺 ⊆ ( ... ‘ 𝑋 ) ) → ( 𝐼 ∈ ℕ → ( dom 𝐺 ∪ { 𝐼 } ) ⊆ ( ... ‘ 〈 if ( 𝐼 ≤ ( 1st ‘ 𝑋 ) , 𝐼 , ( 1st ‘ 𝑋 ) ) , if ( 𝐼 ≤ ( 2nd ‘ 𝑋 ) , ( 2nd ‘ 𝑋 ) , 𝐼 ) 〉 ) ) ) |
80 |
1 79
|
sylbi |
⊢ ( 𝐺 Struct 𝑋 → ( 𝐼 ∈ ℕ → ( dom 𝐺 ∪ { 𝐼 } ) ⊆ ( ... ‘ 〈 if ( 𝐼 ≤ ( 1st ‘ 𝑋 ) , 𝐼 , ( 1st ‘ 𝑋 ) ) , if ( 𝐼 ≤ ( 2nd ‘ 𝑋 ) , ( 2nd ‘ 𝑋 ) , 𝐼 ) 〉 ) ) ) |
81 |
80
|
imp |
⊢ ( ( 𝐺 Struct 𝑋 ∧ 𝐼 ∈ ℕ ) → ( dom 𝐺 ∪ { 𝐼 } ) ⊆ ( ... ‘ 〈 if ( 𝐼 ≤ ( 1st ‘ 𝑋 ) , 𝐼 , ( 1st ‘ 𝑋 ) ) , if ( 𝐼 ≤ ( 2nd ‘ 𝑋 ) , ( 2nd ‘ 𝑋 ) , 𝐼 ) 〉 ) ) |
82 |
81
|
3adant2 |
⊢ ( ( 𝐺 Struct 𝑋 ∧ 𝐸 ∈ 𝑉 ∧ 𝐼 ∈ ℕ ) → ( dom 𝐺 ∪ { 𝐼 } ) ⊆ ( ... ‘ 〈 if ( 𝐼 ≤ ( 1st ‘ 𝑋 ) , 𝐼 , ( 1st ‘ 𝑋 ) ) , if ( 𝐼 ≤ ( 2nd ‘ 𝑋 ) , ( 2nd ‘ 𝑋 ) , 𝐼 ) 〉 ) ) |
83 |
54 82
|
eqsstrd |
⊢ ( ( 𝐺 Struct 𝑋 ∧ 𝐸 ∈ 𝑉 ∧ 𝐼 ∈ ℕ ) → dom ( 𝐺 sSet 〈 𝐼 , 𝐸 〉 ) ⊆ ( ... ‘ 〈 if ( 𝐼 ≤ ( 1st ‘ 𝑋 ) , 𝐼 , ( 1st ‘ 𝑋 ) ) , if ( 𝐼 ≤ ( 2nd ‘ 𝑋 ) , ( 2nd ‘ 𝑋 ) , 𝐼 ) 〉 ) ) |
84 |
|
isstruct2 |
⊢ ( ( 𝐺 sSet 〈 𝐼 , 𝐸 〉 ) Struct 〈 if ( 𝐼 ≤ ( 1st ‘ 𝑋 ) , 𝐼 , ( 1st ‘ 𝑋 ) ) , if ( 𝐼 ≤ ( 2nd ‘ 𝑋 ) , ( 2nd ‘ 𝑋 ) , 𝐼 ) 〉 ↔ ( 〈 if ( 𝐼 ≤ ( 1st ‘ 𝑋 ) , 𝐼 , ( 1st ‘ 𝑋 ) ) , if ( 𝐼 ≤ ( 2nd ‘ 𝑋 ) , ( 2nd ‘ 𝑋 ) , 𝐼 ) 〉 ∈ ( ≤ ∩ ( ℕ × ℕ ) ) ∧ Fun ( ( 𝐺 sSet 〈 𝐼 , 𝐸 〉 ) ∖ { ∅ } ) ∧ dom ( 𝐺 sSet 〈 𝐼 , 𝐸 〉 ) ⊆ ( ... ‘ 〈 if ( 𝐼 ≤ ( 1st ‘ 𝑋 ) , 𝐼 , ( 1st ‘ 𝑋 ) ) , if ( 𝐼 ≤ ( 2nd ‘ 𝑋 ) , ( 2nd ‘ 𝑋 ) , 𝐼 ) 〉 ) ) ) |
85 |
43 51 83 84
|
syl3anbrc |
⊢ ( ( 𝐺 Struct 𝑋 ∧ 𝐸 ∈ 𝑉 ∧ 𝐼 ∈ ℕ ) → ( 𝐺 sSet 〈 𝐼 , 𝐸 〉 ) Struct 〈 if ( 𝐼 ≤ ( 1st ‘ 𝑋 ) , 𝐼 , ( 1st ‘ 𝑋 ) ) , if ( 𝐼 ≤ ( 2nd ‘ 𝑋 ) , ( 2nd ‘ 𝑋 ) , 𝐼 ) 〉 ) |
86 |
85
|
adantr |
⊢ ( ( ( 𝐺 Struct 𝑋 ∧ 𝐸 ∈ 𝑉 ∧ 𝐼 ∈ ℕ ) ∧ 𝑌 = 〈 if ( 𝐼 ≤ ( 1st ‘ 𝑋 ) , 𝐼 , ( 1st ‘ 𝑋 ) ) , if ( 𝐼 ≤ ( 2nd ‘ 𝑋 ) , ( 2nd ‘ 𝑋 ) , 𝐼 ) 〉 ) → ( 𝐺 sSet 〈 𝐼 , 𝐸 〉 ) Struct 〈 if ( 𝐼 ≤ ( 1st ‘ 𝑋 ) , 𝐼 , ( 1st ‘ 𝑋 ) ) , if ( 𝐼 ≤ ( 2nd ‘ 𝑋 ) , ( 2nd ‘ 𝑋 ) , 𝐼 ) 〉 ) |
87 |
|
breq2 |
⊢ ( 𝑌 = 〈 if ( 𝐼 ≤ ( 1st ‘ 𝑋 ) , 𝐼 , ( 1st ‘ 𝑋 ) ) , if ( 𝐼 ≤ ( 2nd ‘ 𝑋 ) , ( 2nd ‘ 𝑋 ) , 𝐼 ) 〉 → ( ( 𝐺 sSet 〈 𝐼 , 𝐸 〉 ) Struct 𝑌 ↔ ( 𝐺 sSet 〈 𝐼 , 𝐸 〉 ) Struct 〈 if ( 𝐼 ≤ ( 1st ‘ 𝑋 ) , 𝐼 , ( 1st ‘ 𝑋 ) ) , if ( 𝐼 ≤ ( 2nd ‘ 𝑋 ) , ( 2nd ‘ 𝑋 ) , 𝐼 ) 〉 ) ) |
88 |
87
|
adantl |
⊢ ( ( ( 𝐺 Struct 𝑋 ∧ 𝐸 ∈ 𝑉 ∧ 𝐼 ∈ ℕ ) ∧ 𝑌 = 〈 if ( 𝐼 ≤ ( 1st ‘ 𝑋 ) , 𝐼 , ( 1st ‘ 𝑋 ) ) , if ( 𝐼 ≤ ( 2nd ‘ 𝑋 ) , ( 2nd ‘ 𝑋 ) , 𝐼 ) 〉 ) → ( ( 𝐺 sSet 〈 𝐼 , 𝐸 〉 ) Struct 𝑌 ↔ ( 𝐺 sSet 〈 𝐼 , 𝐸 〉 ) Struct 〈 if ( 𝐼 ≤ ( 1st ‘ 𝑋 ) , 𝐼 , ( 1st ‘ 𝑋 ) ) , if ( 𝐼 ≤ ( 2nd ‘ 𝑋 ) , ( 2nd ‘ 𝑋 ) , 𝐼 ) 〉 ) ) |
89 |
86 88
|
mpbird |
⊢ ( ( ( 𝐺 Struct 𝑋 ∧ 𝐸 ∈ 𝑉 ∧ 𝐼 ∈ ℕ ) ∧ 𝑌 = 〈 if ( 𝐼 ≤ ( 1st ‘ 𝑋 ) , 𝐼 , ( 1st ‘ 𝑋 ) ) , if ( 𝐼 ≤ ( 2nd ‘ 𝑋 ) , ( 2nd ‘ 𝑋 ) , 𝐼 ) 〉 ) → ( 𝐺 sSet 〈 𝐼 , 𝐸 〉 ) Struct 𝑌 ) |