Metamath Proof Explorer


Theorem tgplnfn

Description: The plane generating function as a function. (Contributed by Thierry Arnoux, 17-Jun-2026)

Ref Expression
Hypotheses tgplnfn.p 𝑃 = ( Base ‘ 𝐺 )
tgplnfn.l 𝐿 = ( LineG ‘ 𝐺 )
tgplnfn.i 𝐸 = ( hlG ‘ 𝐺 )
tgplnfn.1 ( 𝜑𝐺𝑉 )
Assertion tgplnfn ( 𝜑𝐸 Fn ( ( ran 𝐿 × 𝑃 ) ∖ E ) )

Proof

Step Hyp Ref Expression
1 tgplnfn.p 𝑃 = ( Base ‘ 𝐺 )
2 tgplnfn.l 𝐿 = ( LineG ‘ 𝐺 )
3 tgplnfn.i 𝐸 = ( hlG ‘ 𝐺 )
4 tgplnfn.1 ( 𝜑𝐺𝑉 )
5 1 fvexi 𝑃 ∈ V
6 5 rabex { 𝑥𝑃 ∣ ( 𝑥𝑎𝑥 ( ( hpG ‘ 𝐺 ) ‘ 𝑎 ) 𝑟 ∨ ∃ 𝑡𝑎 𝑡 ∈ ( 𝑥 ( Itv ‘ 𝐺 ) 𝑟 ) ) } ∈ V
7 6 rgen2w 𝑎 ∈ ran 𝐿𝑟 ∈ ( 𝑃𝑎 ) { 𝑥𝑃 ∣ ( 𝑥𝑎𝑥 ( ( hpG ‘ 𝐺 ) ‘ 𝑎 ) 𝑟 ∨ ∃ 𝑡𝑎 𝑡 ∈ ( 𝑥 ( Itv ‘ 𝐺 ) 𝑟 ) ) } ∈ V
8 eqid ( 𝑎 ∈ ran 𝐿 , 𝑟 ∈ ( 𝑃𝑎 ) ↦ { 𝑥𝑃 ∣ ( 𝑥𝑎𝑥 ( ( hpG ‘ 𝐺 ) ‘ 𝑎 ) 𝑟 ∨ ∃ 𝑡𝑎 𝑡 ∈ ( 𝑥 ( Itv ‘ 𝐺 ) 𝑟 ) ) } ) = ( 𝑎 ∈ ran 𝐿 , 𝑟 ∈ ( 𝑃𝑎 ) ↦ { 𝑥𝑃 ∣ ( 𝑥𝑎𝑥 ( ( hpG ‘ 𝐺 ) ‘ 𝑎 ) 𝑟 ∨ ∃ 𝑡𝑎 𝑡 ∈ ( 𝑥 ( Itv ‘ 𝐺 ) 𝑟 ) ) } )
9 8 fmpox ( ∀ 𝑎 ∈ ran 𝐿𝑟 ∈ ( 𝑃𝑎 ) { 𝑥𝑃 ∣ ( 𝑥𝑎𝑥 ( ( hpG ‘ 𝐺 ) ‘ 𝑎 ) 𝑟 ∨ ∃ 𝑡𝑎 𝑡 ∈ ( 𝑥 ( Itv ‘ 𝐺 ) 𝑟 ) ) } ∈ V ↔ ( 𝑎 ∈ ran 𝐿 , 𝑟 ∈ ( 𝑃𝑎 ) ↦ { 𝑥𝑃 ∣ ( 𝑥𝑎𝑥 ( ( hpG ‘ 𝐺 ) ‘ 𝑎 ) 𝑟 ∨ ∃ 𝑡𝑎 𝑡 ∈ ( 𝑥 ( Itv ‘ 𝐺 ) 𝑟 ) ) } ) : 𝑎 ∈ ran 𝐿 ( { 𝑎 } × ( 𝑃𝑎 ) ) ⟶ V )
10 7 9 mpbi ( 𝑎 ∈ ran 𝐿 , 𝑟 ∈ ( 𝑃𝑎 ) ↦ { 𝑥𝑃 ∣ ( 𝑥𝑎𝑥 ( ( hpG ‘ 𝐺 ) ‘ 𝑎 ) 𝑟 ∨ ∃ 𝑡𝑎 𝑡 ∈ ( 𝑥 ( Itv ‘ 𝐺 ) 𝑟 ) ) } ) : 𝑎 ∈ ran 𝐿 ( { 𝑎 } × ( 𝑃𝑎 ) ) ⟶ V
11 ffn ( ( 𝑎 ∈ ran 𝐿 , 𝑟 ∈ ( 𝑃𝑎 ) ↦ { 𝑥𝑃 ∣ ( 𝑥𝑎𝑥 ( ( hpG ‘ 𝐺 ) ‘ 𝑎 ) 𝑟 ∨ ∃ 𝑡𝑎 𝑡 ∈ ( 𝑥 ( Itv ‘ 𝐺 ) 𝑟 ) ) } ) : 𝑎 ∈ ran 𝐿 ( { 𝑎 } × ( 𝑃𝑎 ) ) ⟶ V → ( 𝑎 ∈ ran 𝐿 , 𝑟 ∈ ( 𝑃𝑎 ) ↦ { 𝑥𝑃 ∣ ( 𝑥𝑎𝑥 ( ( hpG ‘ 𝐺 ) ‘ 𝑎 ) 𝑟 ∨ ∃ 𝑡𝑎 𝑡 ∈ ( 𝑥 ( Itv ‘ 𝐺 ) 𝑟 ) ) } ) Fn 𝑎 ∈ ran 𝐿 ( { 𝑎 } × ( 𝑃𝑎 ) ) )
12 10 11 ax-mp ( 𝑎 ∈ ran 𝐿 , 𝑟 ∈ ( 𝑃𝑎 ) ↦ { 𝑥𝑃 ∣ ( 𝑥𝑎𝑥 ( ( hpG ‘ 𝐺 ) ‘ 𝑎 ) 𝑟 ∨ ∃ 𝑡𝑎 𝑡 ∈ ( 𝑥 ( Itv ‘ 𝐺 ) 𝑟 ) ) } ) Fn 𝑎 ∈ ran 𝐿 ( { 𝑎 } × ( 𝑃𝑎 ) )
13 xpdifcnvepel 𝑎 ∈ ran 𝐿 ( { 𝑎 } × ( 𝑃𝑎 ) ) = ( ( ran 𝐿 × 𝑃 ) ∖ E )
14 13 fneq2i ( ( 𝑎 ∈ ran 𝐿 , 𝑟 ∈ ( 𝑃𝑎 ) ↦ { 𝑥𝑃 ∣ ( 𝑥𝑎𝑥 ( ( hpG ‘ 𝐺 ) ‘ 𝑎 ) 𝑟 ∨ ∃ 𝑡𝑎 𝑡 ∈ ( 𝑥 ( Itv ‘ 𝐺 ) 𝑟 ) ) } ) Fn 𝑎 ∈ ran 𝐿 ( { 𝑎 } × ( 𝑃𝑎 ) ) ↔ ( 𝑎 ∈ ran 𝐿 , 𝑟 ∈ ( 𝑃𝑎 ) ↦ { 𝑥𝑃 ∣ ( 𝑥𝑎𝑥 ( ( hpG ‘ 𝐺 ) ‘ 𝑎 ) 𝑟 ∨ ∃ 𝑡𝑎 𝑡 ∈ ( 𝑥 ( Itv ‘ 𝐺 ) 𝑟 ) ) } ) Fn ( ( ran 𝐿 × 𝑃 ) ∖ E ) )
15 12 14 mpbi ( 𝑎 ∈ ran 𝐿 , 𝑟 ∈ ( 𝑃𝑎 ) ↦ { 𝑥𝑃 ∣ ( 𝑥𝑎𝑥 ( ( hpG ‘ 𝐺 ) ‘ 𝑎 ) 𝑟 ∨ ∃ 𝑡𝑎 𝑡 ∈ ( 𝑥 ( Itv ‘ 𝐺 ) 𝑟 ) ) } ) Fn ( ( ran 𝐿 × 𝑃 ) ∖ E )
16 df-plng hlG = ( 𝑔 ∈ V ↦ ( 𝑎 ∈ ran ( LineG ‘ 𝑔 ) , 𝑟 ∈ ( ( Base ‘ 𝑔 ) ∖ 𝑎 ) ↦ { 𝑥 ∈ ( Base ‘ 𝑔 ) ∣ ( 𝑥𝑎𝑥 ( ( hpG ‘ 𝑔 ) ‘ 𝑎 ) 𝑟 ∨ ∃ 𝑡𝑎 𝑡 ∈ ( 𝑥 ( Itv ‘ 𝑔 ) 𝑟 ) ) } ) )
17 fveq2 ( 𝑔 = 𝐺 → ( LineG ‘ 𝑔 ) = ( LineG ‘ 𝐺 ) )
18 17 2 eqtr4di ( 𝑔 = 𝐺 → ( LineG ‘ 𝑔 ) = 𝐿 )
19 18 rneqd ( 𝑔 = 𝐺 → ran ( LineG ‘ 𝑔 ) = ran 𝐿 )
20 fveq2 ( 𝑔 = 𝐺 → ( Base ‘ 𝑔 ) = ( Base ‘ 𝐺 ) )
21 20 1 eqtr4di ( 𝑔 = 𝐺 → ( Base ‘ 𝑔 ) = 𝑃 )
22 21 difeq1d ( 𝑔 = 𝐺 → ( ( Base ‘ 𝑔 ) ∖ 𝑎 ) = ( 𝑃𝑎 ) )
23 biidd ( 𝑔 = 𝐺 → ( 𝑥𝑎𝑥𝑎 ) )
24 fveq2 ( 𝑔 = 𝐺 → ( hpG ‘ 𝑔 ) = ( hpG ‘ 𝐺 ) )
25 24 fveq1d ( 𝑔 = 𝐺 → ( ( hpG ‘ 𝑔 ) ‘ 𝑎 ) = ( ( hpG ‘ 𝐺 ) ‘ 𝑎 ) )
26 25 breqd ( 𝑔 = 𝐺 → ( 𝑥 ( ( hpG ‘ 𝑔 ) ‘ 𝑎 ) 𝑟𝑥 ( ( hpG ‘ 𝐺 ) ‘ 𝑎 ) 𝑟 ) )
27 fveq2 ( 𝑔 = 𝐺 → ( Itv ‘ 𝑔 ) = ( Itv ‘ 𝐺 ) )
28 27 oveqd ( 𝑔 = 𝐺 → ( 𝑥 ( Itv ‘ 𝑔 ) 𝑟 ) = ( 𝑥 ( Itv ‘ 𝐺 ) 𝑟 ) )
29 28 eleq2d ( 𝑔 = 𝐺 → ( 𝑡 ∈ ( 𝑥 ( Itv ‘ 𝑔 ) 𝑟 ) ↔ 𝑡 ∈ ( 𝑥 ( Itv ‘ 𝐺 ) 𝑟 ) ) )
30 29 rexbidv ( 𝑔 = 𝐺 → ( ∃ 𝑡𝑎 𝑡 ∈ ( 𝑥 ( Itv ‘ 𝑔 ) 𝑟 ) ↔ ∃ 𝑡𝑎 𝑡 ∈ ( 𝑥 ( Itv ‘ 𝐺 ) 𝑟 ) ) )
31 23 26 30 3orbi123d ( 𝑔 = 𝐺 → ( ( 𝑥𝑎𝑥 ( ( hpG ‘ 𝑔 ) ‘ 𝑎 ) 𝑟 ∨ ∃ 𝑡𝑎 𝑡 ∈ ( 𝑥 ( Itv ‘ 𝑔 ) 𝑟 ) ) ↔ ( 𝑥𝑎𝑥 ( ( hpG ‘ 𝐺 ) ‘ 𝑎 ) 𝑟 ∨ ∃ 𝑡𝑎 𝑡 ∈ ( 𝑥 ( Itv ‘ 𝐺 ) 𝑟 ) ) ) )
32 21 31 rabeqbidv ( 𝑔 = 𝐺 → { 𝑥 ∈ ( Base ‘ 𝑔 ) ∣ ( 𝑥𝑎𝑥 ( ( hpG ‘ 𝑔 ) ‘ 𝑎 ) 𝑟 ∨ ∃ 𝑡𝑎 𝑡 ∈ ( 𝑥 ( Itv ‘ 𝑔 ) 𝑟 ) ) } = { 𝑥𝑃 ∣ ( 𝑥𝑎𝑥 ( ( hpG ‘ 𝐺 ) ‘ 𝑎 ) 𝑟 ∨ ∃ 𝑡𝑎 𝑡 ∈ ( 𝑥 ( Itv ‘ 𝐺 ) 𝑟 ) ) } )
33 19 22 32 mpoeq123dv ( 𝑔 = 𝐺 → ( 𝑎 ∈ ran ( LineG ‘ 𝑔 ) , 𝑟 ∈ ( ( Base ‘ 𝑔 ) ∖ 𝑎 ) ↦ { 𝑥 ∈ ( Base ‘ 𝑔 ) ∣ ( 𝑥𝑎𝑥 ( ( hpG ‘ 𝑔 ) ‘ 𝑎 ) 𝑟 ∨ ∃ 𝑡𝑎 𝑡 ∈ ( 𝑥 ( Itv ‘ 𝑔 ) 𝑟 ) ) } ) = ( 𝑎 ∈ ran 𝐿 , 𝑟 ∈ ( 𝑃𝑎 ) ↦ { 𝑥𝑃 ∣ ( 𝑥𝑎𝑥 ( ( hpG ‘ 𝐺 ) ‘ 𝑎 ) 𝑟 ∨ ∃ 𝑡𝑎 𝑡 ∈ ( 𝑥 ( Itv ‘ 𝐺 ) 𝑟 ) ) } ) )
34 4 elexd ( 𝜑𝐺 ∈ V )
35 2 fvexi 𝐿 ∈ V
36 35 rnex ran 𝐿 ∈ V
37 36 a1i ( 𝜑 → ran 𝐿 ∈ V )
38 5 difexi ( 𝑃𝑎 ) ∈ V
39 38 a1i ( ( 𝜑𝑎 ∈ ran 𝐿 ) → ( 𝑃𝑎 ) ∈ V )
40 37 39 mpoexd ( 𝜑 → ( 𝑎 ∈ ran 𝐿 , 𝑟 ∈ ( 𝑃𝑎 ) ↦ { 𝑥𝑃 ∣ ( 𝑥𝑎𝑥 ( ( hpG ‘ 𝐺 ) ‘ 𝑎 ) 𝑟 ∨ ∃ 𝑡𝑎 𝑡 ∈ ( 𝑥 ( Itv ‘ 𝐺 ) 𝑟 ) ) } ) ∈ V )
41 16 33 34 40 fvmptd3 ( 𝜑 → ( hlG ‘ 𝐺 ) = ( 𝑎 ∈ ran 𝐿 , 𝑟 ∈ ( 𝑃𝑎 ) ↦ { 𝑥𝑃 ∣ ( 𝑥𝑎𝑥 ( ( hpG ‘ 𝐺 ) ‘ 𝑎 ) 𝑟 ∨ ∃ 𝑡𝑎 𝑡 ∈ ( 𝑥 ( Itv ‘ 𝐺 ) 𝑟 ) ) } ) )
42 3 41 eqtrid ( 𝜑𝐸 = ( 𝑎 ∈ ran 𝐿 , 𝑟 ∈ ( 𝑃𝑎 ) ↦ { 𝑥𝑃 ∣ ( 𝑥𝑎𝑥 ( ( hpG ‘ 𝐺 ) ‘ 𝑎 ) 𝑟 ∨ ∃ 𝑡𝑎 𝑡 ∈ ( 𝑥 ( Itv ‘ 𝐺 ) 𝑟 ) ) } ) )
43 42 fneq1d ( 𝜑 → ( 𝐸 Fn ( ( ran 𝐿 × 𝑃 ) ∖ E ) ↔ ( 𝑎 ∈ ran 𝐿 , 𝑟 ∈ ( 𝑃𝑎 ) ↦ { 𝑥𝑃 ∣ ( 𝑥𝑎𝑥 ( ( hpG ‘ 𝐺 ) ‘ 𝑎 ) 𝑟 ∨ ∃ 𝑡𝑎 𝑡 ∈ ( 𝑥 ( Itv ‘ 𝐺 ) 𝑟 ) ) } ) Fn ( ( ran 𝐿 × 𝑃 ) ∖ E ) ) )
44 15 43 mpbiri ( 𝜑𝐸 Fn ( ( ran 𝐿 × 𝑃 ) ∖ E ) )