Metamath Proof Explorer


Theorem ismidb

Description: Property of the midpoint. (Contributed by Thierry Arnoux, 1-Dec-2019)

Ref Expression
Hypotheses ismid.p 𝑃 = ( Base ‘ 𝐺 )
ismid.d = ( dist ‘ 𝐺 )
ismid.i 𝐼 = ( Itv ‘ 𝐺 )
ismid.g ( 𝜑𝐺 ∈ TarskiG )
ismid.1 ( 𝜑𝐺 DimTarskiG≥ 2 )
midcl.1 ( 𝜑𝐴𝑃 )
midcl.2 ( 𝜑𝐵𝑃 )
ismidb.s 𝑆 = ( pInvG ‘ 𝐺 )
ismidb.m ( 𝜑𝑀𝑃 )
Assertion ismidb ( 𝜑 → ( 𝐵 = ( ( 𝑆𝑀 ) ‘ 𝐴 ) ↔ ( 𝐴 ( midG ‘ 𝐺 ) 𝐵 ) = 𝑀 ) )

Proof

Step Hyp Ref Expression
1 ismid.p 𝑃 = ( Base ‘ 𝐺 )
2 ismid.d = ( dist ‘ 𝐺 )
3 ismid.i 𝐼 = ( Itv ‘ 𝐺 )
4 ismid.g ( 𝜑𝐺 ∈ TarskiG )
5 ismid.1 ( 𝜑𝐺 DimTarskiG≥ 2 )
6 midcl.1 ( 𝜑𝐴𝑃 )
7 midcl.2 ( 𝜑𝐵𝑃 )
8 ismidb.s 𝑆 = ( pInvG ‘ 𝐺 )
9 ismidb.m ( 𝜑𝑀𝑃 )
10 eqid ( LineG ‘ 𝐺 ) = ( LineG ‘ 𝐺 )
11 1 2 3 10 4 8 6 7 5 mideu ( 𝜑 → ∃! 𝑚𝑃 𝐵 = ( ( 𝑆𝑚 ) ‘ 𝐴 ) )
12 fveq2 ( 𝑚 = 𝑀 → ( 𝑆𝑚 ) = ( 𝑆𝑀 ) )
13 12 fveq1d ( 𝑚 = 𝑀 → ( ( 𝑆𝑚 ) ‘ 𝐴 ) = ( ( 𝑆𝑀 ) ‘ 𝐴 ) )
14 13 eqeq2d ( 𝑚 = 𝑀 → ( 𝐵 = ( ( 𝑆𝑚 ) ‘ 𝐴 ) ↔ 𝐵 = ( ( 𝑆𝑀 ) ‘ 𝐴 ) ) )
15 14 riota2 ( ( 𝑀𝑃 ∧ ∃! 𝑚𝑃 𝐵 = ( ( 𝑆𝑚 ) ‘ 𝐴 ) ) → ( 𝐵 = ( ( 𝑆𝑀 ) ‘ 𝐴 ) ↔ ( 𝑚𝑃 𝐵 = ( ( 𝑆𝑚 ) ‘ 𝐴 ) ) = 𝑀 ) )
16 9 11 15 syl2anc ( 𝜑 → ( 𝐵 = ( ( 𝑆𝑀 ) ‘ 𝐴 ) ↔ ( 𝑚𝑃 𝐵 = ( ( 𝑆𝑚 ) ‘ 𝐴 ) ) = 𝑀 ) )
17 df-mid midG = ( 𝑔 ∈ V ↦ ( 𝑎 ∈ ( Base ‘ 𝑔 ) , 𝑏 ∈ ( Base ‘ 𝑔 ) ↦ ( 𝑚 ∈ ( Base ‘ 𝑔 ) 𝑏 = ( ( ( pInvG ‘ 𝑔 ) ‘ 𝑚 ) ‘ 𝑎 ) ) ) )
18 fveq2 ( 𝑔 = 𝐺 → ( Base ‘ 𝑔 ) = ( Base ‘ 𝐺 ) )
19 18 1 eqtr4di ( 𝑔 = 𝐺 → ( Base ‘ 𝑔 ) = 𝑃 )
20 fveq2 ( 𝑔 = 𝐺 → ( pInvG ‘ 𝑔 ) = ( pInvG ‘ 𝐺 ) )
21 20 8 eqtr4di ( 𝑔 = 𝐺 → ( pInvG ‘ 𝑔 ) = 𝑆 )
22 21 fveq1d ( 𝑔 = 𝐺 → ( ( pInvG ‘ 𝑔 ) ‘ 𝑚 ) = ( 𝑆𝑚 ) )
23 22 fveq1d ( 𝑔 = 𝐺 → ( ( ( pInvG ‘ 𝑔 ) ‘ 𝑚 ) ‘ 𝑎 ) = ( ( 𝑆𝑚 ) ‘ 𝑎 ) )
24 23 eqeq2d ( 𝑔 = 𝐺 → ( 𝑏 = ( ( ( pInvG ‘ 𝑔 ) ‘ 𝑚 ) ‘ 𝑎 ) ↔ 𝑏 = ( ( 𝑆𝑚 ) ‘ 𝑎 ) ) )
25 19 24 riotaeqbidv ( 𝑔 = 𝐺 → ( 𝑚 ∈ ( Base ‘ 𝑔 ) 𝑏 = ( ( ( pInvG ‘ 𝑔 ) ‘ 𝑚 ) ‘ 𝑎 ) ) = ( 𝑚𝑃 𝑏 = ( ( 𝑆𝑚 ) ‘ 𝑎 ) ) )
26 19 19 25 mpoeq123dv ( 𝑔 = 𝐺 → ( 𝑎 ∈ ( Base ‘ 𝑔 ) , 𝑏 ∈ ( Base ‘ 𝑔 ) ↦ ( 𝑚 ∈ ( Base ‘ 𝑔 ) 𝑏 = ( ( ( pInvG ‘ 𝑔 ) ‘ 𝑚 ) ‘ 𝑎 ) ) ) = ( 𝑎𝑃 , 𝑏𝑃 ↦ ( 𝑚𝑃 𝑏 = ( ( 𝑆𝑚 ) ‘ 𝑎 ) ) ) )
27 4 elexd ( 𝜑𝐺 ∈ V )
28 1 fvexi 𝑃 ∈ V
29 28 28 mpoex ( 𝑎𝑃 , 𝑏𝑃 ↦ ( 𝑚𝑃 𝑏 = ( ( 𝑆𝑚 ) ‘ 𝑎 ) ) ) ∈ V
30 29 a1i ( 𝜑 → ( 𝑎𝑃 , 𝑏𝑃 ↦ ( 𝑚𝑃 𝑏 = ( ( 𝑆𝑚 ) ‘ 𝑎 ) ) ) ∈ V )
31 17 26 27 30 fvmptd3 ( 𝜑 → ( midG ‘ 𝐺 ) = ( 𝑎𝑃 , 𝑏𝑃 ↦ ( 𝑚𝑃 𝑏 = ( ( 𝑆𝑚 ) ‘ 𝑎 ) ) ) )
32 simprr ( ( 𝜑 ∧ ( 𝑎 = 𝐴𝑏 = 𝐵 ) ) → 𝑏 = 𝐵 )
33 simprl ( ( 𝜑 ∧ ( 𝑎 = 𝐴𝑏 = 𝐵 ) ) → 𝑎 = 𝐴 )
34 33 fveq2d ( ( 𝜑 ∧ ( 𝑎 = 𝐴𝑏 = 𝐵 ) ) → ( ( 𝑆𝑚 ) ‘ 𝑎 ) = ( ( 𝑆𝑚 ) ‘ 𝐴 ) )
35 32 34 eqeq12d ( ( 𝜑 ∧ ( 𝑎 = 𝐴𝑏 = 𝐵 ) ) → ( 𝑏 = ( ( 𝑆𝑚 ) ‘ 𝑎 ) ↔ 𝐵 = ( ( 𝑆𝑚 ) ‘ 𝐴 ) ) )
36 35 riotabidv ( ( 𝜑 ∧ ( 𝑎 = 𝐴𝑏 = 𝐵 ) ) → ( 𝑚𝑃 𝑏 = ( ( 𝑆𝑚 ) ‘ 𝑎 ) ) = ( 𝑚𝑃 𝐵 = ( ( 𝑆𝑚 ) ‘ 𝐴 ) ) )
37 riotacl ( ∃! 𝑚𝑃 𝐵 = ( ( 𝑆𝑚 ) ‘ 𝐴 ) → ( 𝑚𝑃 𝐵 = ( ( 𝑆𝑚 ) ‘ 𝐴 ) ) ∈ 𝑃 )
38 11 37 syl ( 𝜑 → ( 𝑚𝑃 𝐵 = ( ( 𝑆𝑚 ) ‘ 𝐴 ) ) ∈ 𝑃 )
39 31 36 6 7 38 ovmpod ( 𝜑 → ( 𝐴 ( midG ‘ 𝐺 ) 𝐵 ) = ( 𝑚𝑃 𝐵 = ( ( 𝑆𝑚 ) ‘ 𝐴 ) ) )
40 39 eqeq1d ( 𝜑 → ( ( 𝐴 ( midG ‘ 𝐺 ) 𝐵 ) = 𝑀 ↔ ( 𝑚𝑃 𝐵 = ( ( 𝑆𝑚 ) ‘ 𝐴 ) ) = 𝑀 ) )
41 16 40 bitr4d ( 𝜑 → ( 𝐵 = ( ( 𝑆𝑀 ) ‘ 𝐴 ) ↔ ( 𝐴 ( midG ‘ 𝐺 ) 𝐵 ) = 𝑀 ) )