Metamath Proof Explorer


Theorem strleun

Description: Combine two structures into one. (Contributed by Mario Carneiro, 29-Aug-2015)

Ref Expression
Hypotheses strleun.f 𝐹 Struct ⟨ 𝐴 , 𝐵
strleun.g 𝐺 Struct ⟨ 𝐶 , 𝐷
strleun.l 𝐵 < 𝐶
Assertion strleun ( 𝐹𝐺 ) Struct ⟨ 𝐴 , 𝐷

Proof

Step Hyp Ref Expression
1 strleun.f 𝐹 Struct ⟨ 𝐴 , 𝐵
2 strleun.g 𝐺 Struct ⟨ 𝐶 , 𝐷
3 strleun.l 𝐵 < 𝐶
4 isstruct ( 𝐹 Struct ⟨ 𝐴 , 𝐵 ⟩ ↔ ( ( 𝐴 ∈ ℕ ∧ 𝐵 ∈ ℕ ∧ 𝐴𝐵 ) ∧ Fun ( 𝐹 ∖ { ∅ } ) ∧ dom 𝐹 ⊆ ( 𝐴 ... 𝐵 ) ) )
5 1 4 mpbi ( ( 𝐴 ∈ ℕ ∧ 𝐵 ∈ ℕ ∧ 𝐴𝐵 ) ∧ Fun ( 𝐹 ∖ { ∅ } ) ∧ dom 𝐹 ⊆ ( 𝐴 ... 𝐵 ) )
6 5 simp1i ( 𝐴 ∈ ℕ ∧ 𝐵 ∈ ℕ ∧ 𝐴𝐵 )
7 6 simp1i 𝐴 ∈ ℕ
8 isstruct ( 𝐺 Struct ⟨ 𝐶 , 𝐷 ⟩ ↔ ( ( 𝐶 ∈ ℕ ∧ 𝐷 ∈ ℕ ∧ 𝐶𝐷 ) ∧ Fun ( 𝐺 ∖ { ∅ } ) ∧ dom 𝐺 ⊆ ( 𝐶 ... 𝐷 ) ) )
9 2 8 mpbi ( ( 𝐶 ∈ ℕ ∧ 𝐷 ∈ ℕ ∧ 𝐶𝐷 ) ∧ Fun ( 𝐺 ∖ { ∅ } ) ∧ dom 𝐺 ⊆ ( 𝐶 ... 𝐷 ) )
10 9 simp1i ( 𝐶 ∈ ℕ ∧ 𝐷 ∈ ℕ ∧ 𝐶𝐷 )
11 10 simp2i 𝐷 ∈ ℕ
12 6 simp3i 𝐴𝐵
13 6 simp2i 𝐵 ∈ ℕ
14 13 nnrei 𝐵 ∈ ℝ
15 10 simp1i 𝐶 ∈ ℕ
16 15 nnrei 𝐶 ∈ ℝ
17 14 16 3 ltleii 𝐵𝐶
18 7 nnrei 𝐴 ∈ ℝ
19 18 14 16 letri ( ( 𝐴𝐵𝐵𝐶 ) → 𝐴𝐶 )
20 12 17 19 mp2an 𝐴𝐶
21 10 simp3i 𝐶𝐷
22 11 nnrei 𝐷 ∈ ℝ
23 18 16 22 letri ( ( 𝐴𝐶𝐶𝐷 ) → 𝐴𝐷 )
24 20 21 23 mp2an 𝐴𝐷
25 7 11 24 3pm3.2i ( 𝐴 ∈ ℕ ∧ 𝐷 ∈ ℕ ∧ 𝐴𝐷 )
26 5 simp2i Fun ( 𝐹 ∖ { ∅ } )
27 9 simp2i Fun ( 𝐺 ∖ { ∅ } )
28 26 27 pm3.2i ( Fun ( 𝐹 ∖ { ∅ } ) ∧ Fun ( 𝐺 ∖ { ∅ } ) )
29 difss ( 𝐹 ∖ { ∅ } ) ⊆ 𝐹
30 dmss ( ( 𝐹 ∖ { ∅ } ) ⊆ 𝐹 → dom ( 𝐹 ∖ { ∅ } ) ⊆ dom 𝐹 )
31 29 30 ax-mp dom ( 𝐹 ∖ { ∅ } ) ⊆ dom 𝐹
32 5 simp3i dom 𝐹 ⊆ ( 𝐴 ... 𝐵 )
33 31 32 sstri dom ( 𝐹 ∖ { ∅ } ) ⊆ ( 𝐴 ... 𝐵 )
34 difss ( 𝐺 ∖ { ∅ } ) ⊆ 𝐺
35 dmss ( ( 𝐺 ∖ { ∅ } ) ⊆ 𝐺 → dom ( 𝐺 ∖ { ∅ } ) ⊆ dom 𝐺 )
36 34 35 ax-mp dom ( 𝐺 ∖ { ∅ } ) ⊆ dom 𝐺
37 9 simp3i dom 𝐺 ⊆ ( 𝐶 ... 𝐷 )
38 36 37 sstri dom ( 𝐺 ∖ { ∅ } ) ⊆ ( 𝐶 ... 𝐷 )
39 ss2in ( ( dom ( 𝐹 ∖ { ∅ } ) ⊆ ( 𝐴 ... 𝐵 ) ∧ dom ( 𝐺 ∖ { ∅ } ) ⊆ ( 𝐶 ... 𝐷 ) ) → ( dom ( 𝐹 ∖ { ∅ } ) ∩ dom ( 𝐺 ∖ { ∅ } ) ) ⊆ ( ( 𝐴 ... 𝐵 ) ∩ ( 𝐶 ... 𝐷 ) ) )
40 33 38 39 mp2an ( dom ( 𝐹 ∖ { ∅ } ) ∩ dom ( 𝐺 ∖ { ∅ } ) ) ⊆ ( ( 𝐴 ... 𝐵 ) ∩ ( 𝐶 ... 𝐷 ) )
41 fzdisj ( 𝐵 < 𝐶 → ( ( 𝐴 ... 𝐵 ) ∩ ( 𝐶 ... 𝐷 ) ) = ∅ )
42 3 41 ax-mp ( ( 𝐴 ... 𝐵 ) ∩ ( 𝐶 ... 𝐷 ) ) = ∅
43 sseq0 ( ( ( dom ( 𝐹 ∖ { ∅ } ) ∩ dom ( 𝐺 ∖ { ∅ } ) ) ⊆ ( ( 𝐴 ... 𝐵 ) ∩ ( 𝐶 ... 𝐷 ) ) ∧ ( ( 𝐴 ... 𝐵 ) ∩ ( 𝐶 ... 𝐷 ) ) = ∅ ) → ( dom ( 𝐹 ∖ { ∅ } ) ∩ dom ( 𝐺 ∖ { ∅ } ) ) = ∅ )
44 40 42 43 mp2an ( dom ( 𝐹 ∖ { ∅ } ) ∩ dom ( 𝐺 ∖ { ∅ } ) ) = ∅
45 funun ( ( ( Fun ( 𝐹 ∖ { ∅ } ) ∧ Fun ( 𝐺 ∖ { ∅ } ) ) ∧ ( dom ( 𝐹 ∖ { ∅ } ) ∩ dom ( 𝐺 ∖ { ∅ } ) ) = ∅ ) → Fun ( ( 𝐹 ∖ { ∅ } ) ∪ ( 𝐺 ∖ { ∅ } ) ) )
46 28 44 45 mp2an Fun ( ( 𝐹 ∖ { ∅ } ) ∪ ( 𝐺 ∖ { ∅ } ) )
47 difundir ( ( 𝐹𝐺 ) ∖ { ∅ } ) = ( ( 𝐹 ∖ { ∅ } ) ∪ ( 𝐺 ∖ { ∅ } ) )
48 47 funeqi ( Fun ( ( 𝐹𝐺 ) ∖ { ∅ } ) ↔ Fun ( ( 𝐹 ∖ { ∅ } ) ∪ ( 𝐺 ∖ { ∅ } ) ) )
49 46 48 mpbir Fun ( ( 𝐹𝐺 ) ∖ { ∅ } )
50 dmun dom ( 𝐹𝐺 ) = ( dom 𝐹 ∪ dom 𝐺 )
51 13 nnzi 𝐵 ∈ ℤ
52 11 nnzi 𝐷 ∈ ℤ
53 14 16 22 letri ( ( 𝐵𝐶𝐶𝐷 ) → 𝐵𝐷 )
54 17 21 53 mp2an 𝐵𝐷
55 eluz2 ( 𝐷 ∈ ( ℤ𝐵 ) ↔ ( 𝐵 ∈ ℤ ∧ 𝐷 ∈ ℤ ∧ 𝐵𝐷 ) )
56 51 52 54 55 mpbir3an 𝐷 ∈ ( ℤ𝐵 )
57 fzss2 ( 𝐷 ∈ ( ℤ𝐵 ) → ( 𝐴 ... 𝐵 ) ⊆ ( 𝐴 ... 𝐷 ) )
58 56 57 ax-mp ( 𝐴 ... 𝐵 ) ⊆ ( 𝐴 ... 𝐷 )
59 32 58 sstri dom 𝐹 ⊆ ( 𝐴 ... 𝐷 )
60 7 nnzi 𝐴 ∈ ℤ
61 15 nnzi 𝐶 ∈ ℤ
62 eluz2 ( 𝐶 ∈ ( ℤ𝐴 ) ↔ ( 𝐴 ∈ ℤ ∧ 𝐶 ∈ ℤ ∧ 𝐴𝐶 ) )
63 60 61 20 62 mpbir3an 𝐶 ∈ ( ℤ𝐴 )
64 fzss1 ( 𝐶 ∈ ( ℤ𝐴 ) → ( 𝐶 ... 𝐷 ) ⊆ ( 𝐴 ... 𝐷 ) )
65 63 64 ax-mp ( 𝐶 ... 𝐷 ) ⊆ ( 𝐴 ... 𝐷 )
66 37 65 sstri dom 𝐺 ⊆ ( 𝐴 ... 𝐷 )
67 59 66 unssi ( dom 𝐹 ∪ dom 𝐺 ) ⊆ ( 𝐴 ... 𝐷 )
68 50 67 eqsstri dom ( 𝐹𝐺 ) ⊆ ( 𝐴 ... 𝐷 )
69 isstruct ( ( 𝐹𝐺 ) Struct ⟨ 𝐴 , 𝐷 ⟩ ↔ ( ( 𝐴 ∈ ℕ ∧ 𝐷 ∈ ℕ ∧ 𝐴𝐷 ) ∧ Fun ( ( 𝐹𝐺 ) ∖ { ∅ } ) ∧ dom ( 𝐹𝐺 ) ⊆ ( 𝐴 ... 𝐷 ) ) )
70 25 49 68 69 mpbir3an ( 𝐹𝐺 ) Struct ⟨ 𝐴 , 𝐷