Metamath Proof Explorer


Theorem brprlng

Description: Property of two lines A and B to be parallel. (Contributed by Thierry Arnoux, 18-Jun-2026)

Ref Expression
Hypotheses brprlng.l ⊢ L = Line 𝒢 ⁡ G
brprlng.e No typesetting found for |- E = ( PlnG ` G ) with typecode |-
brprlng.p No typesetting found for |- .|| = ( parlnG ` G ) with typecode |-
brprlng.g ⊢ φ → G ∈ V
Assertion brprlng ⊢ φ → A ∥ ˙ B ↔ A ∈ ran ⁡ L ∧ B ∈ ran ⁡ L ∧ A = B ∨ ∃ h ∈ ran ⁡ E A ⊆ h ∧ B ⊆ h ∧ A ∩ B = ∅

Proof

Step Hyp Ref Expression
1 brprlng.l ⊢ L = Line 𝒢 ⁡ G
2 brprlng.e Could not format E = ( PlnG ` G ) : No typesetting found for |- E = ( PlnG ` G ) with typecode |-
3 brprlng.p Could not format .|| = ( parlnG ` G ) : No typesetting found for |- .|| = ( parlnG ` G ) with typecode |-
4 brprlng.g ⊢ φ → G ∈ V
5 df-prlng Could not format parlnG = ( g e. _V |-> { <. a , b >. | ( ( a e. ran ( LineG ` g ) /\ b e. ran ( LineG ` g ) ) /\ ( a = b \/ ( E. h e. ran ( PlnG ` g ) ( a C_ h /\ b C_ h ) /\ ( a i^i b ) = (/) ) ) ) } ) : No typesetting found for |- parlnG = ( g e. _V |-> { <. a , b >. | ( ( a e. ran ( LineG ` g ) /\ b e. ran ( LineG ` g ) ) /\ ( a = b \/ ( E. h e. ran ( PlnG ` g ) ( a C_ h /\ b C_ h ) /\ ( a i^i b ) = (/) ) ) ) } ) with typecode |-
6 fveq2 ⊢ g = G → Line 𝒢 ⁡ g = Line 𝒢 ⁡ G
7 6 1 eqtr4di ⊢ g = G → Line 𝒢 ⁡ g = L
8 7 rneqd ⊢ g = G → ran ⁡ Line 𝒢 ⁡ g = ran ⁡ L
9 8 eleq2d ⊢ g = G → a ∈ ran ⁡ Line 𝒢 ⁡ g ↔ a ∈ ran ⁡ L
10 8 eleq2d ⊢ g = G → b ∈ ran ⁡ Line 𝒢 ⁡ g ↔ b ∈ ran ⁡ L
11 9 10 anbi12d ⊢ g = G → a ∈ ran ⁡ Line 𝒢 ⁡ g ∧ b ∈ ran ⁡ Line 𝒢 ⁡ g ↔ a ∈ ran ⁡ L ∧ b ∈ ran ⁡ L
12 fveq2 Could not format ( g = G -> ( PlnG ` g ) = ( PlnG ` G ) ) : No typesetting found for |- ( g = G -> ( PlnG ` g ) = ( PlnG ` G ) ) with typecode |-
13 12 2 eqtr4di Could not format ( g = G -> ( PlnG ` g ) = E ) : No typesetting found for |- ( g = G -> ( PlnG ` g ) = E ) with typecode |-
14 13 rneqd Could not format ( g = G -> ran ( PlnG ` g ) = ran E ) : No typesetting found for |- ( g = G -> ran ( PlnG ` g ) = ran E ) with typecode |-
15 14 rexeqdv Could not format ( g = G -> ( E. h e. ran ( PlnG ` g ) ( a C_ h /\ b C_ h ) <-> E. h e. ran E ( a C_ h /\ b C_ h ) ) ) : No typesetting found for |- ( g = G -> ( E. h e. ran ( PlnG ` g ) ( a C_ h /\ b C_ h ) <-> E. h e. ran E ( a C_ h /\ b C_ h ) ) ) with typecode |-
16 15 anbi1d Could not format ( g = G -> ( ( E. h e. ran ( PlnG ` g ) ( a C_ h /\ b C_ h ) /\ ( a i^i b ) = (/) ) <-> ( E. h e. ran E ( a C_ h /\ b C_ h ) /\ ( a i^i b ) = (/) ) ) ) : No typesetting found for |- ( g = G -> ( ( E. h e. ran ( PlnG ` g ) ( a C_ h /\ b C_ h ) /\ ( a i^i b ) = (/) ) <-> ( E. h e. ran E ( a C_ h /\ b C_ h ) /\ ( a i^i b ) = (/) ) ) ) with typecode |-
17 16 orbi2d Could not format ( g = G -> ( ( a = b \/ ( E. h e. ran ( PlnG ` g ) ( a C_ h /\ b C_ h ) /\ ( a i^i b ) = (/) ) ) <-> ( a = b \/ ( E. h e. ran E ( a C_ h /\ b C_ h ) /\ ( a i^i b ) = (/) ) ) ) ) : No typesetting found for |- ( g = G -> ( ( a = b \/ ( E. h e. ran ( PlnG ` g ) ( a C_ h /\ b C_ h ) /\ ( a i^i b ) = (/) ) ) <-> ( a = b \/ ( E. h e. ran E ( a C_ h /\ b C_ h ) /\ ( a i^i b ) = (/) ) ) ) ) with typecode |-
18 11 17 anbi12d Could not format ( g = G -> ( ( ( a e. ran ( LineG ` g ) /\ b e. ran ( LineG ` g ) ) /\ ( a = b \/ ( E. h e. ran ( PlnG ` g ) ( a C_ h /\ b C_ h ) /\ ( a i^i b ) = (/) ) ) ) <-> ( ( a e. ran L /\ b e. ran L ) /\ ( a = b \/ ( E. h e. ran E ( a C_ h /\ b C_ h ) /\ ( a i^i b ) = (/) ) ) ) ) ) : No typesetting found for |- ( g = G -> ( ( ( a e. ran ( LineG ` g ) /\ b e. ran ( LineG ` g ) ) /\ ( a = b \/ ( E. h e. ran ( PlnG ` g ) ( a C_ h /\ b C_ h ) /\ ( a i^i b ) = (/) ) ) ) <-> ( ( a e. ran L /\ b e. ran L ) /\ ( a = b \/ ( E. h e. ran E ( a C_ h /\ b C_ h ) /\ ( a i^i b ) = (/) ) ) ) ) ) with typecode |-
19 18 opabbidv Could not format ( g = G -> { <. a , b >. | ( ( a e. ran ( LineG ` g ) /\ b e. ran ( LineG ` g ) ) /\ ( a = b \/ ( E. h e. ran ( PlnG ` g ) ( a C_ h /\ b C_ h ) /\ ( a i^i b ) = (/) ) ) ) } = { <. a , b >. | ( ( a e. ran L /\ b e. ran L ) /\ ( a = b \/ ( E. h e. ran E ( a C_ h /\ b C_ h ) /\ ( a i^i b ) = (/) ) ) ) } ) : No typesetting found for |- ( g = G -> { <. a , b >. | ( ( a e. ran ( LineG ` g ) /\ b e. ran ( LineG ` g ) ) /\ ( a = b \/ ( E. h e. ran ( PlnG ` g ) ( a C_ h /\ b C_ h ) /\ ( a i^i b ) = (/) ) ) ) } = { <. a , b >. | ( ( a e. ran L /\ b e. ran L ) /\ ( a = b \/ ( E. h e. ran E ( a C_ h /\ b C_ h ) /\ ( a i^i b ) = (/) ) ) ) } ) with typecode |-
20 4 elexd ⊢ φ → G ∈ V
21 1 fvexi ⊢ L ∈ V
22 21 rnex ⊢ ran ⁡ L ∈ V
23 22 a1i ⊢ φ → ran ⁡ L ∈ V
24 simprll ⊢ φ ∧ a ∈ ran ⁡ L ∧ b ∈ ran ⁡ L ∧ a = b ∨ ∃ h ∈ ran ⁡ E a ⊆ h ∧ b ⊆ h ∧ a ∩ b = ∅ → a ∈ ran ⁡ L
25 simprlr ⊢ φ ∧ a ∈ ran ⁡ L ∧ b ∈ ran ⁡ L ∧ a = b ∨ ∃ h ∈ ran ⁡ E a ⊆ h ∧ b ⊆ h ∧ a ∩ b = ∅ → b ∈ ran ⁡ L
26 23 23 24 25 opabex2 ⊢ φ → a b | a ∈ ran ⁡ L ∧ b ∈ ran ⁡ L ∧ a = b ∨ ∃ h ∈ ran ⁡ E a ⊆ h ∧ b ⊆ h ∧ a ∩ b = ∅ ∈ V
27 5 19 20 26 fvmptd3 Could not format ( ph -> ( parlnG ` G ) = { <. a , b >. | ( ( a e. ran L /\ b e. ran L ) /\ ( a = b \/ ( E. h e. ran E ( a C_ h /\ b C_ h ) /\ ( a i^i b ) = (/) ) ) ) } ) : No typesetting found for |- ( ph -> ( parlnG ` G ) = { <. a , b >. | ( ( a e. ran L /\ b e. ran L ) /\ ( a = b \/ ( E. h e. ran E ( a C_ h /\ b C_ h ) /\ ( a i^i b ) = (/) ) ) ) } ) with typecode |-
28 3 27 eqtrid ⊢ φ → ∥ ˙ = a b | a ∈ ran ⁡ L ∧ b ∈ ran ⁡ L ∧ a = b ∨ ∃ h ∈ ran ⁡ E a ⊆ h ∧ b ⊆ h ∧ a ∩ b = ∅
29 eqeq12 ⊢ a = A ∧ b = B → a = b ↔ A = B
30 sseq1 ⊢ a = A → a ⊆ h ↔ A ⊆ h
31 sseq1 ⊢ b = B → b ⊆ h ↔ B ⊆ h
32 30 31 bi2anan9 ⊢ a = A ∧ b = B → a ⊆ h ∧ b ⊆ h ↔ A ⊆ h ∧ B ⊆ h
33 32 rexbidv ⊢ a = A ∧ b = B → ∃ h ∈ ran ⁡ E a ⊆ h ∧ b ⊆ h ↔ ∃ h ∈ ran ⁡ E A ⊆ h ∧ B ⊆ h
34 ineq12 ⊢ a = A ∧ b = B → a ∩ b = A ∩ B
35 34 eqeq1d ⊢ a = A ∧ b = B → a ∩ b = ∅ ↔ A ∩ B = ∅
36 33 35 anbi12d ⊢ a = A ∧ b = B → ∃ h ∈ ran ⁡ E a ⊆ h ∧ b ⊆ h ∧ a ∩ b = ∅ ↔ ∃ h ∈ ran ⁡ E A ⊆ h ∧ B ⊆ h ∧ A ∩ B = ∅
37 29 36 orbi12d ⊢ a = A ∧ b = B → a = b ∨ ∃ h ∈ ran ⁡ E a ⊆ h ∧ b ⊆ h ∧ a ∩ b = ∅ ↔ A = B ∨ ∃ h ∈ ran ⁡ E A ⊆ h ∧ B ⊆ h ∧ A ∩ B = ∅
38 37 adantl ⊢ φ ∧ a = A ∧ b = B → a = b ∨ ∃ h ∈ ran ⁡ E a ⊆ h ∧ b ⊆ h ∧ a ∩ b = ∅ ↔ A = B ∨ ∃ h ∈ ran ⁡ E A ⊆ h ∧ B ⊆ h ∧ A ∩ B = ∅
39 28 38 brab2d ⊢ φ → A ∥ ˙ B ↔ A ∈ ran ⁡ L ∧ B ∈ ran ⁡ L ∧ A = B ∨ ∃ h ∈ ran ⁡ E A ⊆ h ∧ B ⊆ h ∧ A ∩ B = ∅