Metamath Proof Explorer


Theorem imasaddvallem

Description: The operation of an image structure is defined to distribute over the mapping function. (Contributed by Mario Carneiro, 23-Feb-2015)

Ref Expression
Hypotheses imasaddf.f ( 𝜑𝐹 : 𝑉onto𝐵 )
imasaddf.e ( ( 𝜑 ∧ ( 𝑎𝑉𝑏𝑉 ) ∧ ( 𝑝𝑉𝑞𝑉 ) ) → ( ( ( 𝐹𝑎 ) = ( 𝐹𝑝 ) ∧ ( 𝐹𝑏 ) = ( 𝐹𝑞 ) ) → ( 𝐹 ‘ ( 𝑎 · 𝑏 ) ) = ( 𝐹 ‘ ( 𝑝 · 𝑞 ) ) ) )
imasaddflem.a ( 𝜑 = 𝑝𝑉 𝑞𝑉 { ⟨ ⟨ ( 𝐹𝑝 ) , ( 𝐹𝑞 ) ⟩ , ( 𝐹 ‘ ( 𝑝 · 𝑞 ) ) ⟩ } )
Assertion imasaddvallem ( ( 𝜑𝑋𝑉𝑌𝑉 ) → ( ( 𝐹𝑋 ) ( 𝐹𝑌 ) ) = ( 𝐹 ‘ ( 𝑋 · 𝑌 ) ) )

Proof

Step Hyp Ref Expression
1 imasaddf.f ( 𝜑𝐹 : 𝑉onto𝐵 )
2 imasaddf.e ( ( 𝜑 ∧ ( 𝑎𝑉𝑏𝑉 ) ∧ ( 𝑝𝑉𝑞𝑉 ) ) → ( ( ( 𝐹𝑎 ) = ( 𝐹𝑝 ) ∧ ( 𝐹𝑏 ) = ( 𝐹𝑞 ) ) → ( 𝐹 ‘ ( 𝑎 · 𝑏 ) ) = ( 𝐹 ‘ ( 𝑝 · 𝑞 ) ) ) )
3 imasaddflem.a ( 𝜑 = 𝑝𝑉 𝑞𝑉 { ⟨ ⟨ ( 𝐹𝑝 ) , ( 𝐹𝑞 ) ⟩ , ( 𝐹 ‘ ( 𝑝 · 𝑞 ) ) ⟩ } )
4 df-ov ( ( 𝐹𝑋 ) ( 𝐹𝑌 ) ) = ( ‘ ⟨ ( 𝐹𝑋 ) , ( 𝐹𝑌 ) ⟩ )
5 1 2 3 imasaddfnlem ( 𝜑 Fn ( 𝐵 × 𝐵 ) )
6 fnfun ( Fn ( 𝐵 × 𝐵 ) → Fun )
7 5 6 syl ( 𝜑 → Fun )
8 7 3ad2ant1 ( ( 𝜑𝑋𝑉𝑌𝑉 ) → Fun )
9 fveq2 ( 𝑝 = 𝑋 → ( 𝐹𝑝 ) = ( 𝐹𝑋 ) )
10 9 opeq1d ( 𝑝 = 𝑋 → ⟨ ( 𝐹𝑝 ) , ( 𝐹𝑌 ) ⟩ = ⟨ ( 𝐹𝑋 ) , ( 𝐹𝑌 ) ⟩ )
11 fvoveq1 ( 𝑝 = 𝑋 → ( 𝐹 ‘ ( 𝑝 · 𝑌 ) ) = ( 𝐹 ‘ ( 𝑋 · 𝑌 ) ) )
12 10 11 opeq12d ( 𝑝 = 𝑋 → ⟨ ⟨ ( 𝐹𝑝 ) , ( 𝐹𝑌 ) ⟩ , ( 𝐹 ‘ ( 𝑝 · 𝑌 ) ) ⟩ = ⟨ ⟨ ( 𝐹𝑋 ) , ( 𝐹𝑌 ) ⟩ , ( 𝐹 ‘ ( 𝑋 · 𝑌 ) ) ⟩ )
13 12 sneqd ( 𝑝 = 𝑋 → { ⟨ ⟨ ( 𝐹𝑝 ) , ( 𝐹𝑌 ) ⟩ , ( 𝐹 ‘ ( 𝑝 · 𝑌 ) ) ⟩ } = { ⟨ ⟨ ( 𝐹𝑋 ) , ( 𝐹𝑌 ) ⟩ , ( 𝐹 ‘ ( 𝑋 · 𝑌 ) ) ⟩ } )
14 13 ssiun2s ( 𝑋𝑉 → { ⟨ ⟨ ( 𝐹𝑋 ) , ( 𝐹𝑌 ) ⟩ , ( 𝐹 ‘ ( 𝑋 · 𝑌 ) ) ⟩ } ⊆ 𝑝𝑉 { ⟨ ⟨ ( 𝐹𝑝 ) , ( 𝐹𝑌 ) ⟩ , ( 𝐹 ‘ ( 𝑝 · 𝑌 ) ) ⟩ } )
15 14 3ad2ant2 ( ( 𝜑𝑋𝑉𝑌𝑉 ) → { ⟨ ⟨ ( 𝐹𝑋 ) , ( 𝐹𝑌 ) ⟩ , ( 𝐹 ‘ ( 𝑋 · 𝑌 ) ) ⟩ } ⊆ 𝑝𝑉 { ⟨ ⟨ ( 𝐹𝑝 ) , ( 𝐹𝑌 ) ⟩ , ( 𝐹 ‘ ( 𝑝 · 𝑌 ) ) ⟩ } )
16 fveq2 ( 𝑞 = 𝑌 → ( 𝐹𝑞 ) = ( 𝐹𝑌 ) )
17 16 opeq2d ( 𝑞 = 𝑌 → ⟨ ( 𝐹𝑝 ) , ( 𝐹𝑞 ) ⟩ = ⟨ ( 𝐹𝑝 ) , ( 𝐹𝑌 ) ⟩ )
18 oveq2 ( 𝑞 = 𝑌 → ( 𝑝 · 𝑞 ) = ( 𝑝 · 𝑌 ) )
19 18 fveq2d ( 𝑞 = 𝑌 → ( 𝐹 ‘ ( 𝑝 · 𝑞 ) ) = ( 𝐹 ‘ ( 𝑝 · 𝑌 ) ) )
20 17 19 opeq12d ( 𝑞 = 𝑌 → ⟨ ⟨ ( 𝐹𝑝 ) , ( 𝐹𝑞 ) ⟩ , ( 𝐹 ‘ ( 𝑝 · 𝑞 ) ) ⟩ = ⟨ ⟨ ( 𝐹𝑝 ) , ( 𝐹𝑌 ) ⟩ , ( 𝐹 ‘ ( 𝑝 · 𝑌 ) ) ⟩ )
21 20 sneqd ( 𝑞 = 𝑌 → { ⟨ ⟨ ( 𝐹𝑝 ) , ( 𝐹𝑞 ) ⟩ , ( 𝐹 ‘ ( 𝑝 · 𝑞 ) ) ⟩ } = { ⟨ ⟨ ( 𝐹𝑝 ) , ( 𝐹𝑌 ) ⟩ , ( 𝐹 ‘ ( 𝑝 · 𝑌 ) ) ⟩ } )
22 21 ssiun2s ( 𝑌𝑉 → { ⟨ ⟨ ( 𝐹𝑝 ) , ( 𝐹𝑌 ) ⟩ , ( 𝐹 ‘ ( 𝑝 · 𝑌 ) ) ⟩ } ⊆ 𝑞𝑉 { ⟨ ⟨ ( 𝐹𝑝 ) , ( 𝐹𝑞 ) ⟩ , ( 𝐹 ‘ ( 𝑝 · 𝑞 ) ) ⟩ } )
23 22 ralrimivw ( 𝑌𝑉 → ∀ 𝑝𝑉 { ⟨ ⟨ ( 𝐹𝑝 ) , ( 𝐹𝑌 ) ⟩ , ( 𝐹 ‘ ( 𝑝 · 𝑌 ) ) ⟩ } ⊆ 𝑞𝑉 { ⟨ ⟨ ( 𝐹𝑝 ) , ( 𝐹𝑞 ) ⟩ , ( 𝐹 ‘ ( 𝑝 · 𝑞 ) ) ⟩ } )
24 ss2iun ( ∀ 𝑝𝑉 { ⟨ ⟨ ( 𝐹𝑝 ) , ( 𝐹𝑌 ) ⟩ , ( 𝐹 ‘ ( 𝑝 · 𝑌 ) ) ⟩ } ⊆ 𝑞𝑉 { ⟨ ⟨ ( 𝐹𝑝 ) , ( 𝐹𝑞 ) ⟩ , ( 𝐹 ‘ ( 𝑝 · 𝑞 ) ) ⟩ } → 𝑝𝑉 { ⟨ ⟨ ( 𝐹𝑝 ) , ( 𝐹𝑌 ) ⟩ , ( 𝐹 ‘ ( 𝑝 · 𝑌 ) ) ⟩ } ⊆ 𝑝𝑉 𝑞𝑉 { ⟨ ⟨ ( 𝐹𝑝 ) , ( 𝐹𝑞 ) ⟩ , ( 𝐹 ‘ ( 𝑝 · 𝑞 ) ) ⟩ } )
25 23 24 syl ( 𝑌𝑉 𝑝𝑉 { ⟨ ⟨ ( 𝐹𝑝 ) , ( 𝐹𝑌 ) ⟩ , ( 𝐹 ‘ ( 𝑝 · 𝑌 ) ) ⟩ } ⊆ 𝑝𝑉 𝑞𝑉 { ⟨ ⟨ ( 𝐹𝑝 ) , ( 𝐹𝑞 ) ⟩ , ( 𝐹 ‘ ( 𝑝 · 𝑞 ) ) ⟩ } )
26 25 3ad2ant3 ( ( 𝜑𝑋𝑉𝑌𝑉 ) → 𝑝𝑉 { ⟨ ⟨ ( 𝐹𝑝 ) , ( 𝐹𝑌 ) ⟩ , ( 𝐹 ‘ ( 𝑝 · 𝑌 ) ) ⟩ } ⊆ 𝑝𝑉 𝑞𝑉 { ⟨ ⟨ ( 𝐹𝑝 ) , ( 𝐹𝑞 ) ⟩ , ( 𝐹 ‘ ( 𝑝 · 𝑞 ) ) ⟩ } )
27 15 26 sstrd ( ( 𝜑𝑋𝑉𝑌𝑉 ) → { ⟨ ⟨ ( 𝐹𝑋 ) , ( 𝐹𝑌 ) ⟩ , ( 𝐹 ‘ ( 𝑋 · 𝑌 ) ) ⟩ } ⊆ 𝑝𝑉 𝑞𝑉 { ⟨ ⟨ ( 𝐹𝑝 ) , ( 𝐹𝑞 ) ⟩ , ( 𝐹 ‘ ( 𝑝 · 𝑞 ) ) ⟩ } )
28 3 3ad2ant1 ( ( 𝜑𝑋𝑉𝑌𝑉 ) → = 𝑝𝑉 𝑞𝑉 { ⟨ ⟨ ( 𝐹𝑝 ) , ( 𝐹𝑞 ) ⟩ , ( 𝐹 ‘ ( 𝑝 · 𝑞 ) ) ⟩ } )
29 27 28 sseqtrrd ( ( 𝜑𝑋𝑉𝑌𝑉 ) → { ⟨ ⟨ ( 𝐹𝑋 ) , ( 𝐹𝑌 ) ⟩ , ( 𝐹 ‘ ( 𝑋 · 𝑌 ) ) ⟩ } ⊆ )
30 opex ⟨ ⟨ ( 𝐹𝑋 ) , ( 𝐹𝑌 ) ⟩ , ( 𝐹 ‘ ( 𝑋 · 𝑌 ) ) ⟩ ∈ V
31 30 snss ( ⟨ ⟨ ( 𝐹𝑋 ) , ( 𝐹𝑌 ) ⟩ , ( 𝐹 ‘ ( 𝑋 · 𝑌 ) ) ⟩ ∈ ↔ { ⟨ ⟨ ( 𝐹𝑋 ) , ( 𝐹𝑌 ) ⟩ , ( 𝐹 ‘ ( 𝑋 · 𝑌 ) ) ⟩ } ⊆ )
32 29 31 sylibr ( ( 𝜑𝑋𝑉𝑌𝑉 ) → ⟨ ⟨ ( 𝐹𝑋 ) , ( 𝐹𝑌 ) ⟩ , ( 𝐹 ‘ ( 𝑋 · 𝑌 ) ) ⟩ ∈ )
33 funopfv ( Fun → ( ⟨ ⟨ ( 𝐹𝑋 ) , ( 𝐹𝑌 ) ⟩ , ( 𝐹 ‘ ( 𝑋 · 𝑌 ) ) ⟩ ∈ → ( ‘ ⟨ ( 𝐹𝑋 ) , ( 𝐹𝑌 ) ⟩ ) = ( 𝐹 ‘ ( 𝑋 · 𝑌 ) ) ) )
34 8 32 33 sylc ( ( 𝜑𝑋𝑉𝑌𝑉 ) → ( ‘ ⟨ ( 𝐹𝑋 ) , ( 𝐹𝑌 ) ⟩ ) = ( 𝐹 ‘ ( 𝑋 · 𝑌 ) ) )
35 4 34 eqtrid ( ( 𝜑𝑋𝑉𝑌𝑉 ) → ( ( 𝐹𝑋 ) ( 𝐹𝑌 ) ) = ( 𝐹 ‘ ( 𝑋 · 𝑌 ) ) )