Metamath Proof Explorer


Theorem ragraghl

Description: Drawing two right angles at a point X on the same side of a line ( X L Y ) leads to points W and Z on the same ray from X . Theorem 11.19 of Schwabhauser p. 99. (Contributed by Thierry Arnoux, 5-Jul-2026)

Ref Expression
Hypotheses ragraghl.p 𝑃 = ( Base ‘ 𝐺 )
ragraghl.l 𝐿 = ( LineG ‘ 𝐺 )
ragraghl.g ( 𝜑𝐺 ∈ TarskiG )
ragraghl.x ( 𝜑𝑋𝑃 )
ragraghl.y ( 𝜑𝑌𝑃 )
ragraghl.z ( 𝜑𝑍𝑃 )
ragraghl.1 ( 𝜑𝑊𝑃 )
ragraghl.2 ( 𝜑𝑋𝑌 )
ragraghl.3 ( 𝜑 → ⟨“ 𝑌 𝑋 𝑍 ”⟩ ∈ ( ∟G ‘ 𝐺 ) )
ragraghl.4 ( 𝜑 → ⟨“ 𝑌 𝑋 𝑊 ”⟩ ∈ ( ∟G ‘ 𝐺 ) )
ragraghl.5 ( 𝜑𝑍 ( ( hpG ‘ 𝐺 ) ‘ ( 𝑌 𝐿 𝑋 ) ) 𝑊 )
Assertion ragraghl ( 𝜑𝑍 ( ( hlG ‘ 𝐺 ) ‘ 𝑋 ) 𝑊 )

Proof

Step Hyp Ref Expression
1 ragraghl.p 𝑃 = ( Base ‘ 𝐺 )
2 ragraghl.l 𝐿 = ( LineG ‘ 𝐺 )
3 ragraghl.g ( 𝜑𝐺 ∈ TarskiG )
4 ragraghl.x ( 𝜑𝑋𝑃 )
5 ragraghl.y ( 𝜑𝑌𝑃 )
6 ragraghl.z ( 𝜑𝑍𝑃 )
7 ragraghl.1 ( 𝜑𝑊𝑃 )
8 ragraghl.2 ( 𝜑𝑋𝑌 )
9 ragraghl.3 ( 𝜑 → ⟨“ 𝑌 𝑋 𝑍 ”⟩ ∈ ( ∟G ‘ 𝐺 ) )
10 ragraghl.4 ( 𝜑 → ⟨“ 𝑌 𝑋 𝑊 ”⟩ ∈ ( ∟G ‘ 𝐺 ) )
11 ragraghl.5 ( 𝜑𝑍 ( ( hpG ‘ 𝐺 ) ‘ ( 𝑌 𝐿 𝑋 ) ) 𝑊 )
12 eqid ( Itv ‘ 𝐺 ) = ( Itv ‘ 𝐺 )
13 eqid ( dist ‘ 𝐺 ) = ( dist ‘ 𝐺 )
14 eqid ( pInvG ‘ 𝐺 ) = ( pInvG ‘ 𝐺 )
15 8 necomd ( 𝜑𝑌𝑋 )
16 1 12 2 3 5 4 15 tglinerflx2 ( 𝜑𝑋 ∈ ( 𝑌 𝐿 𝑋 ) )
17 eleq1w ( 𝑎 = 𝑐 → ( 𝑎 ∈ ( 𝑃 ∖ ( 𝑌 𝐿 𝑋 ) ) ↔ 𝑐 ∈ ( 𝑃 ∖ ( 𝑌 𝐿 𝑋 ) ) ) )
18 eleq1w ( 𝑏 = 𝑑 → ( 𝑏 ∈ ( 𝑃 ∖ ( 𝑌 𝐿 𝑋 ) ) ↔ 𝑑 ∈ ( 𝑃 ∖ ( 𝑌 𝐿 𝑋 ) ) ) )
19 17 18 bi2anan9 ( ( 𝑎 = 𝑐𝑏 = 𝑑 ) → ( ( 𝑎 ∈ ( 𝑃 ∖ ( 𝑌 𝐿 𝑋 ) ) ∧ 𝑏 ∈ ( 𝑃 ∖ ( 𝑌 𝐿 𝑋 ) ) ) ↔ ( 𝑐 ∈ ( 𝑃 ∖ ( 𝑌 𝐿 𝑋 ) ) ∧ 𝑑 ∈ ( 𝑃 ∖ ( 𝑌 𝐿 𝑋 ) ) ) ) )
20 oveq12 ( ( 𝑎 = 𝑐𝑏 = 𝑑 ) → ( 𝑎 ( Itv ‘ 𝐺 ) 𝑏 ) = ( 𝑐 ( Itv ‘ 𝐺 ) 𝑑 ) )
21 20 eleq2d ( ( 𝑎 = 𝑐𝑏 = 𝑑 ) → ( 𝑠 ∈ ( 𝑎 ( Itv ‘ 𝐺 ) 𝑏 ) ↔ 𝑠 ∈ ( 𝑐 ( Itv ‘ 𝐺 ) 𝑑 ) ) )
22 21 rexbidv ( ( 𝑎 = 𝑐𝑏 = 𝑑 ) → ( ∃ 𝑠 ∈ ( 𝑌 𝐿 𝑋 ) 𝑠 ∈ ( 𝑎 ( Itv ‘ 𝐺 ) 𝑏 ) ↔ ∃ 𝑠 ∈ ( 𝑌 𝐿 𝑋 ) 𝑠 ∈ ( 𝑐 ( Itv ‘ 𝐺 ) 𝑑 ) ) )
23 eleq1w ( 𝑠 = 𝑡 → ( 𝑠 ∈ ( 𝑐 ( Itv ‘ 𝐺 ) 𝑑 ) ↔ 𝑡 ∈ ( 𝑐 ( Itv ‘ 𝐺 ) 𝑑 ) ) )
24 23 cbvrexvw ( ∃ 𝑠 ∈ ( 𝑌 𝐿 𝑋 ) 𝑠 ∈ ( 𝑐 ( Itv ‘ 𝐺 ) 𝑑 ) ↔ ∃ 𝑡 ∈ ( 𝑌 𝐿 𝑋 ) 𝑡 ∈ ( 𝑐 ( Itv ‘ 𝐺 ) 𝑑 ) )
25 22 24 bitrdi ( ( 𝑎 = 𝑐𝑏 = 𝑑 ) → ( ∃ 𝑠 ∈ ( 𝑌 𝐿 𝑋 ) 𝑠 ∈ ( 𝑎 ( Itv ‘ 𝐺 ) 𝑏 ) ↔ ∃ 𝑡 ∈ ( 𝑌 𝐿 𝑋 ) 𝑡 ∈ ( 𝑐 ( Itv ‘ 𝐺 ) 𝑑 ) ) )
26 19 25 anbi12d ( ( 𝑎 = 𝑐𝑏 = 𝑑 ) → ( ( ( 𝑎 ∈ ( 𝑃 ∖ ( 𝑌 𝐿 𝑋 ) ) ∧ 𝑏 ∈ ( 𝑃 ∖ ( 𝑌 𝐿 𝑋 ) ) ) ∧ ∃ 𝑠 ∈ ( 𝑌 𝐿 𝑋 ) 𝑠 ∈ ( 𝑎 ( Itv ‘ 𝐺 ) 𝑏 ) ) ↔ ( ( 𝑐 ∈ ( 𝑃 ∖ ( 𝑌 𝐿 𝑋 ) ) ∧ 𝑑 ∈ ( 𝑃 ∖ ( 𝑌 𝐿 𝑋 ) ) ) ∧ ∃ 𝑡 ∈ ( 𝑌 𝐿 𝑋 ) 𝑡 ∈ ( 𝑐 ( Itv ‘ 𝐺 ) 𝑑 ) ) ) )
27 26 cbvopabv { ⟨ 𝑎 , 𝑏 ⟩ ∣ ( ( 𝑎 ∈ ( 𝑃 ∖ ( 𝑌 𝐿 𝑋 ) ) ∧ 𝑏 ∈ ( 𝑃 ∖ ( 𝑌 𝐿 𝑋 ) ) ) ∧ ∃ 𝑠 ∈ ( 𝑌 𝐿 𝑋 ) 𝑠 ∈ ( 𝑎 ( Itv ‘ 𝐺 ) 𝑏 ) ) } = { ⟨ 𝑐 , 𝑑 ⟩ ∣ ( ( 𝑐 ∈ ( 𝑃 ∖ ( 𝑌 𝐿 𝑋 ) ) ∧ 𝑑 ∈ ( 𝑃 ∖ ( 𝑌 𝐿 𝑋 ) ) ) ∧ ∃ 𝑡 ∈ ( 𝑌 𝐿 𝑋 ) 𝑡 ∈ ( 𝑐 ( Itv ‘ 𝐺 ) 𝑑 ) ) }
28 1 12 2 3 5 4 15 tgelrnln ( 𝜑 → ( 𝑌 𝐿 𝑋 ) ∈ ran 𝐿 )
29 1 12 2 27 3 28 6 7 11 hpgne1 ( 𝜑 → ¬ 𝑍 ∈ ( 𝑌 𝐿 𝑋 ) )
30 nelne2 ( ( 𝑋 ∈ ( 𝑌 𝐿 𝑋 ) ∧ ¬ 𝑍 ∈ ( 𝑌 𝐿 𝑋 ) ) → 𝑋𝑍 )
31 16 29 30 syl2anc ( 𝜑𝑋𝑍 )
32 31 necomd ( 𝜑𝑍𝑋 )
33 1 13 12 2 14 3 5 4 6 9 15 32 ragncol ( 𝜑 → ¬ ( 𝑍 ∈ ( 𝑌 𝐿 𝑋 ) ∨ 𝑌 = 𝑋 ) )
34 1 2 12 3 5 4 6 33 ncolrot1 ( 𝜑 → ¬ ( 𝑌 ∈ ( 𝑋 𝐿 𝑍 ) ∨ 𝑋 = 𝑍 ) )
35 1 12 2 27 3 28 6 7 11 hpgne2 ( 𝜑 → ¬ 𝑊 ∈ ( 𝑌 𝐿 𝑋 ) )
36 nelne2 ( ( 𝑋 ∈ ( 𝑌 𝐿 𝑋 ) ∧ ¬ 𝑊 ∈ ( 𝑌 𝐿 𝑋 ) ) → 𝑋𝑊 )
37 16 35 36 syl2anc ( 𝜑𝑋𝑊 )
38 37 necomd ( 𝜑𝑊𝑋 )
39 1 13 12 2 14 3 5 4 7 10 15 38 ragncol ( 𝜑 → ¬ ( 𝑊 ∈ ( 𝑌 𝐿 𝑋 ) ∨ 𝑌 = 𝑋 ) )
40 1 2 12 3 5 4 7 39 ncolrot1 ( 𝜑 → ¬ ( 𝑌 ∈ ( 𝑋 𝐿 𝑊 ) ∨ 𝑋 = 𝑊 ) )
41 eqid ( hlG ‘ 𝐺 ) = ( hlG ‘ 𝐺 )
42 1 12 3 41 5 4 6 15 31 cgraid ( 𝜑 → ⟨“ 𝑌 𝑋 𝑍 ”⟩ ( cgrA ‘ 𝐺 ) ⟨“ 𝑌 𝑋 𝑍 ”⟩ )
43 1 3 5 4 6 5 4 7 9 10 15 37 15 31 ragcgra ( 𝜑 → ⟨“ 𝑌 𝑋 𝑍 ”⟩ ( cgrA ‘ 𝐺 ) ⟨“ 𝑌 𝑋 𝑊 ”⟩ )
44 1 12 2 3 28 7 27 35 hpgid ( 𝜑𝑊 ( ( hpG ‘ 𝐺 ) ‘ ( 𝑌 𝐿 𝑋 ) ) 𝑊 )
45 1 12 13 3 5 4 6 5 4 7 2 34 40 6 7 41 42 43 11 44 acopyeu ( 𝜑𝑍 ( ( hlG ‘ 𝐺 ) ‘ 𝑋 ) 𝑊 )