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

Theorem setsstruct2 16523
Description: An extensible structure with a replaced slot is an extensible structure. (Contributed by AV, 14-Nov-2021.)
Assertion
Ref Expression
setsstruct2 (((𝐺 Struct 𝑋𝐸𝑉𝐼 ∈ ℕ) ∧ 𝑌 = ⟨if(𝐼 ≤ (1st𝑋), 𝐼, (1st𝑋)), if(𝐼 ≤ (2nd𝑋), (2nd𝑋), 𝐼)⟩) → (𝐺 sSet ⟨𝐼, 𝐸⟩) Struct 𝑌)

Proof of Theorem setsstruct2
StepHypRef Expression
1 isstruct2 16495 . . . . . . 7 (𝐺 Struct 𝑋 ↔ (𝑋 ∈ ( ≤ ∩ (ℕ × ℕ)) ∧ Fun (𝐺 ∖ {∅}) ∧ dom 𝐺 ⊆ (...‘𝑋)))
2 elin 4171 . . . . . . . . 9 (𝑋 ∈ ( ≤ ∩ (ℕ × ℕ)) ↔ (𝑋 ∈ ≤ ∧ 𝑋 ∈ (ℕ × ℕ)))
3 elxp6 7725 . . . . . . . . . . 11 (𝑋 ∈ (ℕ × ℕ) ↔ (𝑋 = ⟨(1st𝑋), (2nd𝑋)⟩ ∧ ((1st𝑋) ∈ ℕ ∧ (2nd𝑋) ∈ ℕ)))
4 eleq1 2902 . . . . . . . . . . . . 13 (𝑋 = ⟨(1st𝑋), (2nd𝑋)⟩ → (𝑋 ∈ ≤ ↔ ⟨(1st𝑋), (2nd𝑋)⟩ ∈ ≤ ))
54adantr 483 . . . . . . . . . . . 12 ((𝑋 = ⟨(1st𝑋), (2nd𝑋)⟩ ∧ ((1st𝑋) ∈ ℕ ∧ (2nd𝑋) ∈ ℕ)) → (𝑋 ∈ ≤ ↔ ⟨(1st𝑋), (2nd𝑋)⟩ ∈ ≤ ))
6 simp3 1134 . . . . . . . . . . . . . . . . . . 19 ((((1st𝑋) ∈ ℕ ∧ (2nd𝑋) ∈ ℕ) ∧ ⟨(1st𝑋), (2nd𝑋)⟩ ∈ ≤ ∧ 𝐼 ∈ ℕ) → 𝐼 ∈ ℕ)
7 simp1l 1193 . . . . . . . . . . . . . . . . . . 19 ((((1st𝑋) ∈ ℕ ∧ (2nd𝑋) ∈ ℕ) ∧ ⟨(1st𝑋), (2nd𝑋)⟩ ∈ ≤ ∧ 𝐼 ∈ ℕ) → (1st𝑋) ∈ ℕ)
86, 7ifcld 4514 . . . . . . . . . . . . . . . . . 18 ((((1st𝑋) ∈ ℕ ∧ (2nd𝑋) ∈ ℕ) ∧ ⟨(1st𝑋), (2nd𝑋)⟩ ∈ ≤ ∧ 𝐼 ∈ ℕ) → if(𝐼 ≤ (1st𝑋), 𝐼, (1st𝑋)) ∈ ℕ)
98nnred 11655 . . . . . . . . . . . . . . . . 17 ((((1st𝑋) ∈ ℕ ∧ (2nd𝑋) ∈ ℕ) ∧ ⟨(1st𝑋), (2nd𝑋)⟩ ∈ ≤ ∧ 𝐼 ∈ ℕ) → if(𝐼 ≤ (1st𝑋), 𝐼, (1st𝑋)) ∈ ℝ)
106nnred 11655 . . . . . . . . . . . . . . . . 17 ((((1st𝑋) ∈ ℕ ∧ (2nd𝑋) ∈ ℕ) ∧ ⟨(1st𝑋), (2nd𝑋)⟩ ∈ ≤ ∧ 𝐼 ∈ ℕ) → 𝐼 ∈ ℝ)
11 simp1r 1194 . . . . . . . . . . . . . . . . . . 19 ((((1st𝑋) ∈ ℕ ∧ (2nd𝑋) ∈ ℕ) ∧ ⟨(1st𝑋), (2nd𝑋)⟩ ∈ ≤ ∧ 𝐼 ∈ ℕ) → (2nd𝑋) ∈ ℕ)
1211, 6ifcld 4514 . . . . . . . . . . . . . . . . . 18 ((((1st𝑋) ∈ ℕ ∧ (2nd𝑋) ∈ ℕ) ∧ ⟨(1st𝑋), (2nd𝑋)⟩ ∈ ≤ ∧ 𝐼 ∈ ℕ) → if(𝐼 ≤ (2nd𝑋), (2nd𝑋), 𝐼) ∈ ℕ)
1312nnred 11655 . . . . . . . . . . . . . . . . 17 ((((1st𝑋) ∈ ℕ ∧ (2nd𝑋) ∈ ℕ) ∧ ⟨(1st𝑋), (2nd𝑋)⟩ ∈ ≤ ∧ 𝐼 ∈ ℕ) → if(𝐼 ≤ (2nd𝑋), (2nd𝑋), 𝐼) ∈ ℝ)
14 nnre 11647 . . . . . . . . . . . . . . . . . . . . . 22 ((1st𝑋) ∈ ℕ → (1st𝑋) ∈ ℝ)
1514adantr 483 . . . . . . . . . . . . . . . . . . . . 21 (((1st𝑋) ∈ ℕ ∧ (2nd𝑋) ∈ ℕ) → (1st𝑋) ∈ ℝ)
16 nnre 11647 . . . . . . . . . . . . . . . . . . . . 21 (𝐼 ∈ ℕ → 𝐼 ∈ ℝ)
1715, 16anim12i 614 . . . . . . . . . . . . . . . . . . . 20 ((((1st𝑋) ∈ ℕ ∧ (2nd𝑋) ∈ ℕ) ∧ 𝐼 ∈ ℕ) → ((1st𝑋) ∈ ℝ ∧ 𝐼 ∈ ℝ))
18173adant2 1127 . . . . . . . . . . . . . . . . . . 19 ((((1st𝑋) ∈ ℕ ∧ (2nd𝑋) ∈ ℕ) ∧ ⟨(1st𝑋), (2nd𝑋)⟩ ∈ ≤ ∧ 𝐼 ∈ ℕ) → ((1st𝑋) ∈ ℝ ∧ 𝐼 ∈ ℝ))
1918ancomd 464 . . . . . . . . . . . . . . . . . 18 ((((1st𝑋) ∈ ℕ ∧ (2nd𝑋) ∈ ℕ) ∧ ⟨(1st𝑋), (2nd𝑋)⟩ ∈ ≤ ∧ 𝐼 ∈ ℕ) → (𝐼 ∈ ℝ ∧ (1st𝑋) ∈ ℝ))
20 min1 12585 . . . . . . . . . . . . . . . . . 18 ((𝐼 ∈ ℝ ∧ (1st𝑋) ∈ ℝ) → if(𝐼 ≤ (1st𝑋), 𝐼, (1st𝑋)) ≤ 𝐼)
2119, 20syl 17 . . . . . . . . . . . . . . . . 17 ((((1st𝑋) ∈ ℕ ∧ (2nd𝑋) ∈ ℕ) ∧ ⟨(1st𝑋), (2nd𝑋)⟩ ∈ ≤ ∧ 𝐼 ∈ ℕ) → if(𝐼 ≤ (1st𝑋), 𝐼, (1st𝑋)) ≤ 𝐼)
22 nnre 11647 . . . . . . . . . . . . . . . . . . . . . 22 ((2nd𝑋) ∈ ℕ → (2nd𝑋) ∈ ℝ)
2322adantl 484 . . . . . . . . . . . . . . . . . . . . 21 (((1st𝑋) ∈ ℕ ∧ (2nd𝑋) ∈ ℕ) → (2nd𝑋) ∈ ℝ)
2423, 16anim12i 614 . . . . . . . . . . . . . . . . . . . 20 ((((1st𝑋) ∈ ℕ ∧ (2nd𝑋) ∈ ℕ) ∧ 𝐼 ∈ ℕ) → ((2nd𝑋) ∈ ℝ ∧ 𝐼 ∈ ℝ))
25243adant2 1127 . . . . . . . . . . . . . . . . . . 19 ((((1st𝑋) ∈ ℕ ∧ (2nd𝑋) ∈ ℕ) ∧ ⟨(1st𝑋), (2nd𝑋)⟩ ∈ ≤ ∧ 𝐼 ∈ ℕ) → ((2nd𝑋) ∈ ℝ ∧ 𝐼 ∈ ℝ))
2625ancomd 464 . . . . . . . . . . . . . . . . . 18 ((((1st𝑋) ∈ ℕ ∧ (2nd𝑋) ∈ ℕ) ∧ ⟨(1st𝑋), (2nd𝑋)⟩ ∈ ≤ ∧ 𝐼 ∈ ℕ) → (𝐼 ∈ ℝ ∧ (2nd𝑋) ∈ ℝ))
27 max1 12581 . . . . . . . . . . . . . . . . . 18 ((𝐼 ∈ ℝ ∧ (2nd𝑋) ∈ ℝ) → 𝐼 ≤ if(𝐼 ≤ (2nd𝑋), (2nd𝑋), 𝐼))
2826, 27syl 17 . . . . . . . . . . . . . . . . 17 ((((1st𝑋) ∈ ℕ ∧ (2nd𝑋) ∈ ℕ) ∧ ⟨(1st𝑋), (2nd𝑋)⟩ ∈ ≤ ∧ 𝐼 ∈ ℕ) → 𝐼 ≤ if(𝐼 ≤ (2nd𝑋), (2nd𝑋), 𝐼))
299, 10, 13, 21, 28letrd 10799 . . . . . . . . . . . . . . . 16 ((((1st𝑋) ∈ ℕ ∧ (2nd𝑋) ∈ ℕ) ∧ ⟨(1st𝑋), (2nd𝑋)⟩ ∈ ≤ ∧ 𝐼 ∈ ℕ) → if(𝐼 ≤ (1st𝑋), 𝐼, (1st𝑋)) ≤ if(𝐼 ≤ (2nd𝑋), (2nd𝑋), 𝐼))
30 df-br 5069 . . . . . . . . . . . . . . . 16 (if(𝐼 ≤ (1st𝑋), 𝐼, (1st𝑋)) ≤ if(𝐼 ≤ (2nd𝑋), (2nd𝑋), 𝐼) ↔ ⟨if(𝐼 ≤ (1st𝑋), 𝐼, (1st𝑋)), if(𝐼 ≤ (2nd𝑋), (2nd𝑋), 𝐼)⟩ ∈ ≤ )
3129, 30sylib 220 . . . . . . . . . . . . . . 15 ((((1st𝑋) ∈ ℕ ∧ (2nd𝑋) ∈ ℕ) ∧ ⟨(1st𝑋), (2nd𝑋)⟩ ∈ ≤ ∧ 𝐼 ∈ ℕ) → ⟨if(𝐼 ≤ (1st𝑋), 𝐼, (1st𝑋)), if(𝐼 ≤ (2nd𝑋), (2nd𝑋), 𝐼)⟩ ∈ ≤ )
328, 12opelxpd 5595 . . . . . . . . . . . . . . 15 ((((1st𝑋) ∈ ℕ ∧ (2nd𝑋) ∈ ℕ) ∧ ⟨(1st𝑋), (2nd𝑋)⟩ ∈ ≤ ∧ 𝐼 ∈ ℕ) → ⟨if(𝐼 ≤ (1st𝑋), 𝐼, (1st𝑋)), if(𝐼 ≤ (2nd𝑋), (2nd𝑋), 𝐼)⟩ ∈ (ℕ × ℕ))
3331, 32elind 4173 . . . . . . . . . . . . . 14 ((((1st𝑋) ∈ ℕ ∧ (2nd𝑋) ∈ ℕ) ∧ ⟨(1st𝑋), (2nd𝑋)⟩ ∈ ≤ ∧ 𝐼 ∈ ℕ) → ⟨if(𝐼 ≤ (1st𝑋), 𝐼, (1st𝑋)), if(𝐼 ≤ (2nd𝑋), (2nd𝑋), 𝐼)⟩ ∈ ( ≤ ∩ (ℕ × ℕ)))
34333exp 1115 . . . . . . . . . . . . 13 (((1st𝑋) ∈ ℕ ∧ (2nd𝑋) ∈ ℕ) → (⟨(1st𝑋), (2nd𝑋)⟩ ∈ ≤ → (𝐼 ∈ ℕ → ⟨if(𝐼 ≤ (1st𝑋), 𝐼, (1st𝑋)), if(𝐼 ≤ (2nd𝑋), (2nd𝑋), 𝐼)⟩ ∈ ( ≤ ∩ (ℕ × ℕ)))))
3534adantl 484 . . . . . . . . . . . 12 ((𝑋 = ⟨(1st𝑋), (2nd𝑋)⟩ ∧ ((1st𝑋) ∈ ℕ ∧ (2nd𝑋) ∈ ℕ)) → (⟨(1st𝑋), (2nd𝑋)⟩ ∈ ≤ → (𝐼 ∈ ℕ → ⟨if(𝐼 ≤ (1st𝑋), 𝐼, (1st𝑋)), if(𝐼 ≤ (2nd𝑋), (2nd𝑋), 𝐼)⟩ ∈ ( ≤ ∩ (ℕ × ℕ)))))
365, 35sylbid 242 . . . . . . . . . . 11 ((𝑋 = ⟨(1st𝑋), (2nd𝑋)⟩ ∧ ((1st𝑋) ∈ ℕ ∧ (2nd𝑋) ∈ ℕ)) → (𝑋 ∈ ≤ → (𝐼 ∈ ℕ → ⟨if(𝐼 ≤ (1st𝑋), 𝐼, (1st𝑋)), if(𝐼 ≤ (2nd𝑋), (2nd𝑋), 𝐼)⟩ ∈ ( ≤ ∩ (ℕ × ℕ)))))
373, 36sylbi 219 . . . . . . . . . 10 (𝑋 ∈ (ℕ × ℕ) → (𝑋 ∈ ≤ → (𝐼 ∈ ℕ → ⟨if(𝐼 ≤ (1st𝑋), 𝐼, (1st𝑋)), if(𝐼 ≤ (2nd𝑋), (2nd𝑋), 𝐼)⟩ ∈ ( ≤ ∩ (ℕ × ℕ)))))
3837impcom 410 . . . . . . . . 9 ((𝑋 ∈ ≤ ∧ 𝑋 ∈ (ℕ × ℕ)) → (𝐼 ∈ ℕ → ⟨if(𝐼 ≤ (1st𝑋), 𝐼, (1st𝑋)), if(𝐼 ≤ (2nd𝑋), (2nd𝑋), 𝐼)⟩ ∈ ( ≤ ∩ (ℕ × ℕ))))
392, 38sylbi 219 . . . . . . . 8 (𝑋 ∈ ( ≤ ∩ (ℕ × ℕ)) → (𝐼 ∈ ℕ → ⟨if(𝐼 ≤ (1st𝑋), 𝐼, (1st𝑋)), if(𝐼 ≤ (2nd𝑋), (2nd𝑋), 𝐼)⟩ ∈ ( ≤ ∩ (ℕ × ℕ))))
40393ad2ant1 1129 . . . . . . 7 ((𝑋 ∈ ( ≤ ∩ (ℕ × ℕ)) ∧ Fun (𝐺 ∖ {∅}) ∧ dom 𝐺 ⊆ (...‘𝑋)) → (𝐼 ∈ ℕ → ⟨if(𝐼 ≤ (1st𝑋), 𝐼, (1st𝑋)), if(𝐼 ≤ (2nd𝑋), (2nd𝑋), 𝐼)⟩ ∈ ( ≤ ∩ (ℕ × ℕ))))
411, 40sylbi 219 . . . . . 6 (𝐺 Struct 𝑋 → (𝐼 ∈ ℕ → ⟨if(𝐼 ≤ (1st𝑋), 𝐼, (1st𝑋)), if(𝐼 ≤ (2nd𝑋), (2nd𝑋), 𝐼)⟩ ∈ ( ≤ ∩ (ℕ × ℕ))))
4241imp 409 . . . . 5 ((𝐺 Struct 𝑋𝐼 ∈ ℕ) → ⟨if(𝐼 ≤ (1st𝑋), 𝐼, (1st𝑋)), if(𝐼 ≤ (2nd𝑋), (2nd𝑋), 𝐼)⟩ ∈ ( ≤ ∩ (ℕ × ℕ)))
43423adant2 1127 . . . 4 ((𝐺 Struct 𝑋𝐸𝑉𝐼 ∈ ℕ) → ⟨if(𝐼 ≤ (1st𝑋), 𝐼, (1st𝑋)), if(𝐼 ≤ (2nd𝑋), (2nd𝑋), 𝐼)⟩ ∈ ( ≤ ∩ (ℕ × ℕ)))
44 structex 16496 . . . . . . 7 (𝐺 Struct 𝑋𝐺 ∈ V)
45 structn0fun 16497 . . . . . . 7 (𝐺 Struct 𝑋 → Fun (𝐺 ∖ {∅}))
4644, 45jca 514 . . . . . 6 (𝐺 Struct 𝑋 → (𝐺 ∈ V ∧ Fun (𝐺 ∖ {∅})))
47463ad2ant1 1129 . . . . 5 ((𝐺 Struct 𝑋𝐸𝑉𝐼 ∈ ℕ) → (𝐺 ∈ V ∧ Fun (𝐺 ∖ {∅})))
48 simp3 1134 . . . . 5 ((𝐺 Struct 𝑋𝐸𝑉𝐼 ∈ ℕ) → 𝐼 ∈ ℕ)
49 simp2 1133 . . . . 5 ((𝐺 Struct 𝑋𝐸𝑉𝐼 ∈ ℕ) → 𝐸𝑉)
50 setsfun0 16521 . . . . 5 (((𝐺 ∈ V ∧ Fun (𝐺 ∖ {∅})) ∧ (𝐼 ∈ ℕ ∧ 𝐸𝑉)) → Fun ((𝐺 sSet ⟨𝐼, 𝐸⟩) ∖ {∅}))
5147, 48, 49, 50syl12anc 834 . . . 4 ((𝐺 Struct 𝑋𝐸𝑉𝐼 ∈ ℕ) → Fun ((𝐺 sSet ⟨𝐼, 𝐸⟩) ∖ {∅}))
52443ad2ant1 1129 . . . . . 6 ((𝐺 Struct 𝑋𝐸𝑉𝐼 ∈ ℕ) → 𝐺 ∈ V)
53 setsdm 16519 . . . . . 6 ((𝐺 ∈ V ∧ 𝐸𝑉) → dom (𝐺 sSet ⟨𝐼, 𝐸⟩) = (dom 𝐺 ∪ {𝐼}))
5452, 49, 53syl2anc 586 . . . . 5 ((𝐺 Struct 𝑋𝐸𝑉𝐼 ∈ ℕ) → dom (𝐺 sSet ⟨𝐼, 𝐸⟩) = (dom 𝐺 ∪ {𝐼}))
55 fveq2 6672 . . . . . . . . . . . . . . . . 17 (𝑋 = ⟨(1st𝑋), (2nd𝑋)⟩ → (...‘𝑋) = (...‘⟨(1st𝑋), (2nd𝑋)⟩))
56 df-ov 7161 . . . . . . . . . . . . . . . . 17 ((1st𝑋)...(2nd𝑋)) = (...‘⟨(1st𝑋), (2nd𝑋)⟩)
5755, 56syl6eqr 2876 . . . . . . . . . . . . . . . 16 (𝑋 = ⟨(1st𝑋), (2nd𝑋)⟩ → (...‘𝑋) = ((1st𝑋)...(2nd𝑋)))
5857sseq2d 4001 . . . . . . . . . . . . . . 15 (𝑋 = ⟨(1st𝑋), (2nd𝑋)⟩ → (dom 𝐺 ⊆ (...‘𝑋) ↔ dom 𝐺 ⊆ ((1st𝑋)...(2nd𝑋))))
5958adantr 483 . . . . . . . . . . . . . 14 ((𝑋 = ⟨(1st𝑋), (2nd𝑋)⟩ ∧ ((1st𝑋) ∈ ℕ ∧ (2nd𝑋) ∈ ℕ)) → (dom 𝐺 ⊆ (...‘𝑋) ↔ dom 𝐺 ⊆ ((1st𝑋)...(2nd𝑋))))
60 df-3an 1085 . . . . . . . . . . . . . . . . . 18 (((1st𝑋) ∈ ℕ ∧ (2nd𝑋) ∈ ℕ ∧ 𝐼 ∈ ℕ) ↔ (((1st𝑋) ∈ ℕ ∧ (2nd𝑋) ∈ ℕ) ∧ 𝐼 ∈ ℕ))
61 nnz 12007 . . . . . . . . . . . . . . . . . . . . 21 ((1st𝑋) ∈ ℕ → (1st𝑋) ∈ ℤ)
62 nnz 12007 . . . . . . . . . . . . . . . . . . . . 21 ((2nd𝑋) ∈ ℕ → (2nd𝑋) ∈ ℤ)
63 nnz 12007 . . . . . . . . . . . . . . . . . . . . 21 (𝐼 ∈ ℕ → 𝐼 ∈ ℤ)
6461, 62, 633anim123i 1147 . . . . . . . . . . . . . . . . . . . 20 (((1st𝑋) ∈ ℕ ∧ (2nd𝑋) ∈ ℕ ∧ 𝐼 ∈ ℕ) → ((1st𝑋) ∈ ℤ ∧ (2nd𝑋) ∈ ℤ ∧ 𝐼 ∈ ℤ))
65 ssfzunsnext 12955 . . . . . . . . . . . . . . . . . . . . 21 ((dom 𝐺 ⊆ ((1st𝑋)...(2nd𝑋)) ∧ ((1st𝑋) ∈ ℤ ∧ (2nd𝑋) ∈ ℤ ∧ 𝐼 ∈ ℤ)) → (dom 𝐺 ∪ {𝐼}) ⊆ (if(𝐼 ≤ (1st𝑋), 𝐼, (1st𝑋))...if(𝐼 ≤ (2nd𝑋), (2nd𝑋), 𝐼)))
66 df-ov 7161 . . . . . . . . . . . . . . . . . . . . 21 (if(𝐼 ≤ (1st𝑋), 𝐼, (1st𝑋))...if(𝐼 ≤ (2nd𝑋), (2nd𝑋), 𝐼)) = (...‘⟨if(𝐼 ≤ (1st𝑋), 𝐼, (1st𝑋)), if(𝐼 ≤ (2nd𝑋), (2nd𝑋), 𝐼)⟩)
6765, 66sseqtrdi 4019 . . . . . . . . . . . . . . . . . . . 20 ((dom 𝐺 ⊆ ((1st𝑋)...(2nd𝑋)) ∧ ((1st𝑋) ∈ ℤ ∧ (2nd𝑋) ∈ ℤ ∧ 𝐼 ∈ ℤ)) → (dom 𝐺 ∪ {𝐼}) ⊆ (...‘⟨if(𝐼 ≤ (1st𝑋), 𝐼, (1st𝑋)), if(𝐼 ≤ (2nd𝑋), (2nd𝑋), 𝐼)⟩))
6864, 67sylan2 594 . . . . . . . . . . . . . . . . . . 19 ((dom 𝐺 ⊆ ((1st𝑋)...(2nd𝑋)) ∧ ((1st𝑋) ∈ ℕ ∧ (2nd𝑋) ∈ ℕ ∧ 𝐼 ∈ ℕ)) → (dom 𝐺 ∪ {𝐼}) ⊆ (...‘⟨if(𝐼 ≤ (1st𝑋), 𝐼, (1st𝑋)), if(𝐼 ≤ (2nd𝑋), (2nd𝑋), 𝐼)⟩))
6968ex 415 . . . . . . . . . . . . . . . . . 18 (dom 𝐺 ⊆ ((1st𝑋)...(2nd𝑋)) → (((1st𝑋) ∈ ℕ ∧ (2nd𝑋) ∈ ℕ ∧ 𝐼 ∈ ℕ) → (dom 𝐺 ∪ {𝐼}) ⊆ (...‘⟨if(𝐼 ≤ (1st𝑋), 𝐼, (1st𝑋)), if(𝐼 ≤ (2nd𝑋), (2nd𝑋), 𝐼)⟩)))
7060, 69syl5bir 245 . . . . . . . . . . . . . . . . 17 (dom 𝐺 ⊆ ((1st𝑋)...(2nd𝑋)) → ((((1st𝑋) ∈ ℕ ∧ (2nd𝑋) ∈ ℕ) ∧ 𝐼 ∈ ℕ) → (dom 𝐺 ∪ {𝐼}) ⊆ (...‘⟨if(𝐼 ≤ (1st𝑋), 𝐼, (1st𝑋)), if(𝐼 ≤ (2nd𝑋), (2nd𝑋), 𝐼)⟩)))
7170expd 418 . . . . . . . . . . . . . . . 16 (dom 𝐺 ⊆ ((1st𝑋)...(2nd𝑋)) → (((1st𝑋) ∈ ℕ ∧ (2nd𝑋) ∈ ℕ) → (𝐼 ∈ ℕ → (dom 𝐺 ∪ {𝐼}) ⊆ (...‘⟨if(𝐼 ≤ (1st𝑋), 𝐼, (1st𝑋)), if(𝐼 ≤ (2nd𝑋), (2nd𝑋), 𝐼)⟩))))
7271com12 32 . . . . . . . . . . . . . . 15 (((1st𝑋) ∈ ℕ ∧ (2nd𝑋) ∈ ℕ) → (dom 𝐺 ⊆ ((1st𝑋)...(2nd𝑋)) → (𝐼 ∈ ℕ → (dom 𝐺 ∪ {𝐼}) ⊆ (...‘⟨if(𝐼 ≤ (1st𝑋), 𝐼, (1st𝑋)), if(𝐼 ≤ (2nd𝑋), (2nd𝑋), 𝐼)⟩))))
7372adantl 484 . . . . . . . . . . . . . 14 ((𝑋 = ⟨(1st𝑋), (2nd𝑋)⟩ ∧ ((1st𝑋) ∈ ℕ ∧ (2nd𝑋) ∈ ℕ)) → (dom 𝐺 ⊆ ((1st𝑋)...(2nd𝑋)) → (𝐼 ∈ ℕ → (dom 𝐺 ∪ {𝐼}) ⊆ (...‘⟨if(𝐼 ≤ (1st𝑋), 𝐼, (1st𝑋)), if(𝐼 ≤ (2nd𝑋), (2nd𝑋), 𝐼)⟩))))
7459, 73sylbid 242 . . . . . . . . . . . . 13 ((𝑋 = ⟨(1st𝑋), (2nd𝑋)⟩ ∧ ((1st𝑋) ∈ ℕ ∧ (2nd𝑋) ∈ ℕ)) → (dom 𝐺 ⊆ (...‘𝑋) → (𝐼 ∈ ℕ → (dom 𝐺 ∪ {𝐼}) ⊆ (...‘⟨if(𝐼 ≤ (1st𝑋), 𝐼, (1st𝑋)), if(𝐼 ≤ (2nd𝑋), (2nd𝑋), 𝐼)⟩))))
753, 74sylbi 219 . . . . . . . . . . . 12 (𝑋 ∈ (ℕ × ℕ) → (dom 𝐺 ⊆ (...‘𝑋) → (𝐼 ∈ ℕ → (dom 𝐺 ∪ {𝐼}) ⊆ (...‘⟨if(𝐼 ≤ (1st𝑋), 𝐼, (1st𝑋)), if(𝐼 ≤ (2nd𝑋), (2nd𝑋), 𝐼)⟩))))
7675adantl 484 . . . . . . . . . . 11 ((𝑋 ∈ ≤ ∧ 𝑋 ∈ (ℕ × ℕ)) → (dom 𝐺 ⊆ (...‘𝑋) → (𝐼 ∈ ℕ → (dom 𝐺 ∪ {𝐼}) ⊆ (...‘⟨if(𝐼 ≤ (1st𝑋), 𝐼, (1st𝑋)), if(𝐼 ≤ (2nd𝑋), (2nd𝑋), 𝐼)⟩))))
772, 76sylbi 219 . . . . . . . . . 10 (𝑋 ∈ ( ≤ ∩ (ℕ × ℕ)) → (dom 𝐺 ⊆ (...‘𝑋) → (𝐼 ∈ ℕ → (dom 𝐺 ∪ {𝐼}) ⊆ (...‘⟨if(𝐼 ≤ (1st𝑋), 𝐼, (1st𝑋)), if(𝐼 ≤ (2nd𝑋), (2nd𝑋), 𝐼)⟩))))
7877imp 409 . . . . . . . . 9 ((𝑋 ∈ ( ≤ ∩ (ℕ × ℕ)) ∧ dom 𝐺 ⊆ (...‘𝑋)) → (𝐼 ∈ ℕ → (dom 𝐺 ∪ {𝐼}) ⊆ (...‘⟨if(𝐼 ≤ (1st𝑋), 𝐼, (1st𝑋)), if(𝐼 ≤ (2nd𝑋), (2nd𝑋), 𝐼)⟩)))
79783adant2 1127 . . . . . . . 8 ((𝑋 ∈ ( ≤ ∩ (ℕ × ℕ)) ∧ Fun (𝐺 ∖ {∅}) ∧ dom 𝐺 ⊆ (...‘𝑋)) → (𝐼 ∈ ℕ → (dom 𝐺 ∪ {𝐼}) ⊆ (...‘⟨if(𝐼 ≤ (1st𝑋), 𝐼, (1st𝑋)), if(𝐼 ≤ (2nd𝑋), (2nd𝑋), 𝐼)⟩)))
801, 79sylbi 219 . . . . . . 7 (𝐺 Struct 𝑋 → (𝐼 ∈ ℕ → (dom 𝐺 ∪ {𝐼}) ⊆ (...‘⟨if(𝐼 ≤ (1st𝑋), 𝐼, (1st𝑋)), if(𝐼 ≤ (2nd𝑋), (2nd𝑋), 𝐼)⟩)))
8180imp 409 . . . . . 6 ((𝐺 Struct 𝑋𝐼 ∈ ℕ) → (dom 𝐺 ∪ {𝐼}) ⊆ (...‘⟨if(𝐼 ≤ (1st𝑋), 𝐼, (1st𝑋)), if(𝐼 ≤ (2nd𝑋), (2nd𝑋), 𝐼)⟩))
82813adant2 1127 . . . . 5 ((𝐺 Struct 𝑋𝐸𝑉𝐼 ∈ ℕ) → (dom 𝐺 ∪ {𝐼}) ⊆ (...‘⟨if(𝐼 ≤ (1st𝑋), 𝐼, (1st𝑋)), if(𝐼 ≤ (2nd𝑋), (2nd𝑋), 𝐼)⟩))
8354, 82eqsstrd 4007 . . . 4 ((𝐺 Struct 𝑋𝐸𝑉𝐼 ∈ ℕ) → dom (𝐺 sSet ⟨𝐼, 𝐸⟩) ⊆ (...‘⟨if(𝐼 ≤ (1st𝑋), 𝐼, (1st𝑋)), if(𝐼 ≤ (2nd𝑋), (2nd𝑋), 𝐼)⟩))
84 isstruct2 16495 . . . 4 ((𝐺 sSet ⟨𝐼, 𝐸⟩) Struct ⟨if(𝐼 ≤ (1st𝑋), 𝐼, (1st𝑋)), if(𝐼 ≤ (2nd𝑋), (2nd𝑋), 𝐼)⟩ ↔ (⟨if(𝐼 ≤ (1st𝑋), 𝐼, (1st𝑋)), if(𝐼 ≤ (2nd𝑋), (2nd𝑋), 𝐼)⟩ ∈ ( ≤ ∩ (ℕ × ℕ)) ∧ Fun ((𝐺 sSet ⟨𝐼, 𝐸⟩) ∖ {∅}) ∧ dom (𝐺 sSet ⟨𝐼, 𝐸⟩) ⊆ (...‘⟨if(𝐼 ≤ (1st𝑋), 𝐼, (1st𝑋)), if(𝐼 ≤ (2nd𝑋), (2nd𝑋), 𝐼)⟩)))
8543, 51, 83, 84syl3anbrc 1339 . . 3 ((𝐺 Struct 𝑋𝐸𝑉𝐼 ∈ ℕ) → (𝐺 sSet ⟨𝐼, 𝐸⟩) Struct ⟨if(𝐼 ≤ (1st𝑋), 𝐼, (1st𝑋)), if(𝐼 ≤ (2nd𝑋), (2nd𝑋), 𝐼)⟩)
8685adantr 483 . 2 (((𝐺 Struct 𝑋𝐸𝑉𝐼 ∈ ℕ) ∧ 𝑌 = ⟨if(𝐼 ≤ (1st𝑋), 𝐼, (1st𝑋)), if(𝐼 ≤ (2nd𝑋), (2nd𝑋), 𝐼)⟩) → (𝐺 sSet ⟨𝐼, 𝐸⟩) Struct ⟨if(𝐼 ≤ (1st𝑋), 𝐼, (1st𝑋)), if(𝐼 ≤ (2nd𝑋), (2nd𝑋), 𝐼)⟩)
87 breq2 5072 . . 3 (𝑌 = ⟨if(𝐼 ≤ (1st𝑋), 𝐼, (1st𝑋)), if(𝐼 ≤ (2nd𝑋), (2nd𝑋), 𝐼)⟩ → ((𝐺 sSet ⟨𝐼, 𝐸⟩) Struct 𝑌 ↔ (𝐺 sSet ⟨𝐼, 𝐸⟩) Struct ⟨if(𝐼 ≤ (1st𝑋), 𝐼, (1st𝑋)), if(𝐼 ≤ (2nd𝑋), (2nd𝑋), 𝐼)⟩))
8887adantl 484 . 2 (((𝐺 Struct 𝑋𝐸𝑉𝐼 ∈ ℕ) ∧ 𝑌 = ⟨if(𝐼 ≤ (1st𝑋), 𝐼, (1st𝑋)), if(𝐼 ≤ (2nd𝑋), (2nd𝑋), 𝐼)⟩) → ((𝐺 sSet ⟨𝐼, 𝐸⟩) Struct 𝑌 ↔ (𝐺 sSet ⟨𝐼, 𝐸⟩) Struct ⟨if(𝐼 ≤ (1st𝑋), 𝐼, (1st𝑋)), if(𝐼 ≤ (2nd𝑋), (2nd𝑋), 𝐼)⟩))
8986, 88mpbird 259 1 (((𝐺 Struct 𝑋𝐸𝑉𝐼 ∈ ℕ) ∧ 𝑌 = ⟨if(𝐼 ≤ (1st𝑋), 𝐼, (1st𝑋)), if(𝐼 ≤ (2nd𝑋), (2nd𝑋), 𝐼)⟩) → (𝐺 sSet ⟨𝐼, 𝐸⟩) Struct 𝑌)
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 208  wa 398  w3a 1083   = wceq 1537  wcel 2114  Vcvv 3496  cdif 3935  cun 3936  cin 3937  wss 3938  c0 4293  ifcif 4469  {csn 4569  cop 4575   class class class wbr 5068   × cxp 5555  dom cdm 5557  Fun wfun 6351  cfv 6357  (class class class)co 7158  1st c1st 7689  2nd c2nd 7690  cr 10538  cle 10678  cn 11640  cz 11984  ...cfz 12895   Struct cstr 16481   sSet csts 16483
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1796  ax-4 1810  ax-5 1911  ax-6 1970  ax-7 2015  ax-8 2116  ax-9 2124  ax-10 2145  ax-11 2161  ax-12 2177  ax-ext 2795  ax-sep 5205  ax-nul 5212  ax-pow 5268  ax-pr 5332  ax-un 7463  ax-cnex 10595  ax-resscn 10596  ax-1cn 10597  ax-icn 10598  ax-addcl 10599  ax-addrcl 10600  ax-mulcl 10601  ax-mulrcl 10602  ax-mulcom 10603  ax-addass 10604  ax-mulass 10605  ax-distr 10606  ax-i2m1 10607  ax-1ne0 10608  ax-1rid 10609  ax-rnegex 10610  ax-rrecex 10611  ax-cnre 10612  ax-pre-lttri 10613  ax-pre-lttrn 10614  ax-pre-ltadd 10615  ax-pre-mulgt0 10616
This theorem depends on definitions:  df-bi 209  df-an 399  df-or 844  df-3or 1084  df-3an 1085  df-tru 1540  df-ex 1781  df-nf 1785  df-sb 2070  df-mo 2622  df-eu 2654  df-clab 2802  df-cleq 2816  df-clel 2895  df-nfc 2965  df-ne 3019  df-nel 3126  df-ral 3145  df-rex 3146  df-reu 3147  df-rab 3149  df-v 3498  df-sbc 3775  df-csb 3886  df-dif 3941  df-un 3943  df-in 3945  df-ss 3954  df-pss 3956  df-nul 4294  df-if 4470  df-pw 4543  df-sn 4570  df-pr 4572  df-tp 4574  df-op 4576  df-uni 4841  df-int 4879  df-iun 4923  df-br 5069  df-opab 5131  df-mpt 5149  df-tr 5175  df-id 5462  df-eprel 5467  df-po 5476  df-so 5477  df-fr 5516  df-we 5518  df-xp 5563  df-rel 5564  df-cnv 5565  df-co 5566  df-dm 5567  df-rn 5568  df-res 5569  df-ima 5570  df-pred 6150  df-ord 6196  df-on 6197  df-lim 6198  df-suc 6199  df-iota 6316  df-fun 6359  df-fn 6360  df-f 6361  df-f1 6362  df-fo 6363  df-f1o 6364  df-fv 6365  df-riota 7116  df-ov 7161  df-oprab 7162  df-mpo 7163  df-om 7583  df-1st 7691  df-2nd 7692  df-wrecs 7949  df-recs 8010  df-rdg 8048  df-1o 8104  df-oadd 8108  df-er 8291  df-en 8512  df-dom 8513  df-sdom 8514  df-fin 8515  df-pnf 10679  df-mnf 10680  df-xr 10681  df-ltxr 10682  df-le 10683  df-sub 10874  df-neg 10875  df-nn 11641  df-n0 11901  df-z 11985  df-uz 12247  df-fz 12896  df-struct 16487  df-sets 16492
This theorem is referenced by:  setsexstruct2  16524  setsstruct  16525
  Copyright terms: Public domain W3C validator