Metamath Proof Explorer


Theorem islnopp

Description: The property for two points A and B to lie on the opposite sides of a set D Definition 9.1 of Schwabhauser p. 67. (Contributed by Thierry Arnoux, 19-Dec-2019)

Ref Expression
Hypotheses hpg.p 𝑃 = ( Base ‘ 𝐺 )
hpg.d = ( dist ‘ 𝐺 )
hpg.i 𝐼 = ( Itv ‘ 𝐺 )
hpg.o 𝑂 = { ⟨ 𝑎 , 𝑏 ⟩ ∣ ( ( 𝑎 ∈ ( 𝑃𝐷 ) ∧ 𝑏 ∈ ( 𝑃𝐷 ) ) ∧ ∃ 𝑡𝐷 𝑡 ∈ ( 𝑎 𝐼 𝑏 ) ) }
islnopp.a ( 𝜑𝐴𝑃 )
islnopp.b ( 𝜑𝐵𝑃 )
Assertion islnopp ( 𝜑 → ( 𝐴 𝑂 𝐵 ↔ ( ( ¬ 𝐴𝐷 ∧ ¬ 𝐵𝐷 ) ∧ ∃ 𝑡𝐷 𝑡 ∈ ( 𝐴 𝐼 𝐵 ) ) ) )

Proof

Step Hyp Ref Expression
1 hpg.p 𝑃 = ( Base ‘ 𝐺 )
2 hpg.d = ( dist ‘ 𝐺 )
3 hpg.i 𝐼 = ( Itv ‘ 𝐺 )
4 hpg.o 𝑂 = { ⟨ 𝑎 , 𝑏 ⟩ ∣ ( ( 𝑎 ∈ ( 𝑃𝐷 ) ∧ 𝑏 ∈ ( 𝑃𝐷 ) ) ∧ ∃ 𝑡𝐷 𝑡 ∈ ( 𝑎 𝐼 𝑏 ) ) }
5 islnopp.a ( 𝜑𝐴𝑃 )
6 islnopp.b ( 𝜑𝐵𝑃 )
7 eleq1 ( 𝑢 = 𝐴 → ( 𝑢 ∈ ( 𝑃𝐷 ) ↔ 𝐴 ∈ ( 𝑃𝐷 ) ) )
8 7 anbi1d ( 𝑢 = 𝐴 → ( ( 𝑢 ∈ ( 𝑃𝐷 ) ∧ 𝑣 ∈ ( 𝑃𝐷 ) ) ↔ ( 𝐴 ∈ ( 𝑃𝐷 ) ∧ 𝑣 ∈ ( 𝑃𝐷 ) ) ) )
9 oveq1 ( 𝑢 = 𝐴 → ( 𝑢 𝐼 𝑣 ) = ( 𝐴 𝐼 𝑣 ) )
10 9 eleq2d ( 𝑢 = 𝐴 → ( 𝑡 ∈ ( 𝑢 𝐼 𝑣 ) ↔ 𝑡 ∈ ( 𝐴 𝐼 𝑣 ) ) )
11 10 rexbidv ( 𝑢 = 𝐴 → ( ∃ 𝑡𝐷 𝑡 ∈ ( 𝑢 𝐼 𝑣 ) ↔ ∃ 𝑡𝐷 𝑡 ∈ ( 𝐴 𝐼 𝑣 ) ) )
12 8 11 anbi12d ( 𝑢 = 𝐴 → ( ( ( 𝑢 ∈ ( 𝑃𝐷 ) ∧ 𝑣 ∈ ( 𝑃𝐷 ) ) ∧ ∃ 𝑡𝐷 𝑡 ∈ ( 𝑢 𝐼 𝑣 ) ) ↔ ( ( 𝐴 ∈ ( 𝑃𝐷 ) ∧ 𝑣 ∈ ( 𝑃𝐷 ) ) ∧ ∃ 𝑡𝐷 𝑡 ∈ ( 𝐴 𝐼 𝑣 ) ) ) )
13 eleq1 ( 𝑣 = 𝐵 → ( 𝑣 ∈ ( 𝑃𝐷 ) ↔ 𝐵 ∈ ( 𝑃𝐷 ) ) )
14 13 anbi2d ( 𝑣 = 𝐵 → ( ( 𝐴 ∈ ( 𝑃𝐷 ) ∧ 𝑣 ∈ ( 𝑃𝐷 ) ) ↔ ( 𝐴 ∈ ( 𝑃𝐷 ) ∧ 𝐵 ∈ ( 𝑃𝐷 ) ) ) )
15 oveq2 ( 𝑣 = 𝐵 → ( 𝐴 𝐼 𝑣 ) = ( 𝐴 𝐼 𝐵 ) )
16 15 eleq2d ( 𝑣 = 𝐵 → ( 𝑡 ∈ ( 𝐴 𝐼 𝑣 ) ↔ 𝑡 ∈ ( 𝐴 𝐼 𝐵 ) ) )
17 16 rexbidv ( 𝑣 = 𝐵 → ( ∃ 𝑡𝐷 𝑡 ∈ ( 𝐴 𝐼 𝑣 ) ↔ ∃ 𝑡𝐷 𝑡 ∈ ( 𝐴 𝐼 𝐵 ) ) )
18 14 17 anbi12d ( 𝑣 = 𝐵 → ( ( ( 𝐴 ∈ ( 𝑃𝐷 ) ∧ 𝑣 ∈ ( 𝑃𝐷 ) ) ∧ ∃ 𝑡𝐷 𝑡 ∈ ( 𝐴 𝐼 𝑣 ) ) ↔ ( ( 𝐴 ∈ ( 𝑃𝐷 ) ∧ 𝐵 ∈ ( 𝑃𝐷 ) ) ∧ ∃ 𝑡𝐷 𝑡 ∈ ( 𝐴 𝐼 𝐵 ) ) ) )
19 simpl ( ( 𝑎 = 𝑢𝑏 = 𝑣 ) → 𝑎 = 𝑢 )
20 19 eleq1d ( ( 𝑎 = 𝑢𝑏 = 𝑣 ) → ( 𝑎 ∈ ( 𝑃𝐷 ) ↔ 𝑢 ∈ ( 𝑃𝐷 ) ) )
21 simpr ( ( 𝑎 = 𝑢𝑏 = 𝑣 ) → 𝑏 = 𝑣 )
22 21 eleq1d ( ( 𝑎 = 𝑢𝑏 = 𝑣 ) → ( 𝑏 ∈ ( 𝑃𝐷 ) ↔ 𝑣 ∈ ( 𝑃𝐷 ) ) )
23 20 22 anbi12d ( ( 𝑎 = 𝑢𝑏 = 𝑣 ) → ( ( 𝑎 ∈ ( 𝑃𝐷 ) ∧ 𝑏 ∈ ( 𝑃𝐷 ) ) ↔ ( 𝑢 ∈ ( 𝑃𝐷 ) ∧ 𝑣 ∈ ( 𝑃𝐷 ) ) ) )
24 oveq12 ( ( 𝑎 = 𝑢𝑏 = 𝑣 ) → ( 𝑎 𝐼 𝑏 ) = ( 𝑢 𝐼 𝑣 ) )
25 24 eleq2d ( ( 𝑎 = 𝑢𝑏 = 𝑣 ) → ( 𝑡 ∈ ( 𝑎 𝐼 𝑏 ) ↔ 𝑡 ∈ ( 𝑢 𝐼 𝑣 ) ) )
26 25 rexbidv ( ( 𝑎 = 𝑢𝑏 = 𝑣 ) → ( ∃ 𝑡𝐷 𝑡 ∈ ( 𝑎 𝐼 𝑏 ) ↔ ∃ 𝑡𝐷 𝑡 ∈ ( 𝑢 𝐼 𝑣 ) ) )
27 23 26 anbi12d ( ( 𝑎 = 𝑢𝑏 = 𝑣 ) → ( ( ( 𝑎 ∈ ( 𝑃𝐷 ) ∧ 𝑏 ∈ ( 𝑃𝐷 ) ) ∧ ∃ 𝑡𝐷 𝑡 ∈ ( 𝑎 𝐼 𝑏 ) ) ↔ ( ( 𝑢 ∈ ( 𝑃𝐷 ) ∧ 𝑣 ∈ ( 𝑃𝐷 ) ) ∧ ∃ 𝑡𝐷 𝑡 ∈ ( 𝑢 𝐼 𝑣 ) ) ) )
28 27 cbvopabv { ⟨ 𝑎 , 𝑏 ⟩ ∣ ( ( 𝑎 ∈ ( 𝑃𝐷 ) ∧ 𝑏 ∈ ( 𝑃𝐷 ) ) ∧ ∃ 𝑡𝐷 𝑡 ∈ ( 𝑎 𝐼 𝑏 ) ) } = { ⟨ 𝑢 , 𝑣 ⟩ ∣ ( ( 𝑢 ∈ ( 𝑃𝐷 ) ∧ 𝑣 ∈ ( 𝑃𝐷 ) ) ∧ ∃ 𝑡𝐷 𝑡 ∈ ( 𝑢 𝐼 𝑣 ) ) }
29 4 28 eqtri 𝑂 = { ⟨ 𝑢 , 𝑣 ⟩ ∣ ( ( 𝑢 ∈ ( 𝑃𝐷 ) ∧ 𝑣 ∈ ( 𝑃𝐷 ) ) ∧ ∃ 𝑡𝐷 𝑡 ∈ ( 𝑢 𝐼 𝑣 ) ) }
30 12 18 29 brabg ( ( 𝐴𝑃𝐵𝑃 ) → ( 𝐴 𝑂 𝐵 ↔ ( ( 𝐴 ∈ ( 𝑃𝐷 ) ∧ 𝐵 ∈ ( 𝑃𝐷 ) ) ∧ ∃ 𝑡𝐷 𝑡 ∈ ( 𝐴 𝐼 𝐵 ) ) ) )
31 5 6 30 syl2anc ( 𝜑 → ( 𝐴 𝑂 𝐵 ↔ ( ( 𝐴 ∈ ( 𝑃𝐷 ) ∧ 𝐵 ∈ ( 𝑃𝐷 ) ) ∧ ∃ 𝑡𝐷 𝑡 ∈ ( 𝐴 𝐼 𝐵 ) ) ) )
32 5 biantrurd ( 𝜑 → ( ¬ 𝐴𝐷 ↔ ( 𝐴𝑃 ∧ ¬ 𝐴𝐷 ) ) )
33 eldif ( 𝐴 ∈ ( 𝑃𝐷 ) ↔ ( 𝐴𝑃 ∧ ¬ 𝐴𝐷 ) )
34 32 33 bitr4di ( 𝜑 → ( ¬ 𝐴𝐷𝐴 ∈ ( 𝑃𝐷 ) ) )
35 6 biantrurd ( 𝜑 → ( ¬ 𝐵𝐷 ↔ ( 𝐵𝑃 ∧ ¬ 𝐵𝐷 ) ) )
36 eldif ( 𝐵 ∈ ( 𝑃𝐷 ) ↔ ( 𝐵𝑃 ∧ ¬ 𝐵𝐷 ) )
37 35 36 bitr4di ( 𝜑 → ( ¬ 𝐵𝐷𝐵 ∈ ( 𝑃𝐷 ) ) )
38 34 37 anbi12d ( 𝜑 → ( ( ¬ 𝐴𝐷 ∧ ¬ 𝐵𝐷 ) ↔ ( 𝐴 ∈ ( 𝑃𝐷 ) ∧ 𝐵 ∈ ( 𝑃𝐷 ) ) ) )
39 38 anbi1d ( 𝜑 → ( ( ( ¬ 𝐴𝐷 ∧ ¬ 𝐵𝐷 ) ∧ ∃ 𝑡𝐷 𝑡 ∈ ( 𝐴 𝐼 𝐵 ) ) ↔ ( ( 𝐴 ∈ ( 𝑃𝐷 ) ∧ 𝐵 ∈ ( 𝑃𝐷 ) ) ∧ ∃ 𝑡𝐷 𝑡 ∈ ( 𝐴 𝐼 𝐵 ) ) ) )
40 31 39 bitr4d ( 𝜑 → ( 𝐴 𝑂 𝐵 ↔ ( ( ¬ 𝐴𝐷 ∧ ¬ 𝐵𝐷 ) ∧ ∃ 𝑡𝐷 𝑡 ∈ ( 𝐴 𝐼 𝐵 ) ) ) )