Users' Mathboxes Mathbox for Scott Fenton < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >   Mathboxes  >  fvline Structured version   Visualization version   GIF version

Theorem fvline 36128
Description: Calculate the value of the Line function. (Contributed by Scott Fenton, 25-Oct-2013.) (Revised by Mario Carneiro, 19-Apr-2014.)
Assertion
Ref Expression
fvline ((𝑁 ∈ ℕ ∧ (𝐴 ∈ (𝔼‘𝑁) ∧ 𝐵 ∈ (𝔼‘𝑁) ∧ 𝐴𝐵)) → (𝐴Line𝐵) = {𝑥𝑥 Colinear ⟨𝐴, 𝐵⟩})
Distinct variable groups:   𝑥,𝐴   𝑥,𝐵
Allowed substitution hint:   𝑁(𝑥)

Proof of Theorem fvline
Dummy variables 𝑎 𝑏 𝑙 𝑛 are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 eqid 2729 . . . . 5 [⟨𝐴, 𝐵⟩] Colinear = [⟨𝐴, 𝐵⟩] Colinear
2 fveq2 6822 . . . . . . . . 9 (𝑛 = 𝑁 → (𝔼‘𝑛) = (𝔼‘𝑁))
32eleq2d 2814 . . . . . . . 8 (𝑛 = 𝑁 → (𝐴 ∈ (𝔼‘𝑛) ↔ 𝐴 ∈ (𝔼‘𝑁)))
42eleq2d 2814 . . . . . . . 8 (𝑛 = 𝑁 → (𝐵 ∈ (𝔼‘𝑛) ↔ 𝐵 ∈ (𝔼‘𝑁)))
53, 43anbi12d 1439 . . . . . . 7 (𝑛 = 𝑁 → ((𝐴 ∈ (𝔼‘𝑛) ∧ 𝐵 ∈ (𝔼‘𝑛) ∧ 𝐴𝐵) ↔ (𝐴 ∈ (𝔼‘𝑁) ∧ 𝐵 ∈ (𝔼‘𝑁) ∧ 𝐴𝐵)))
65anbi1d 631 . . . . . 6 (𝑛 = 𝑁 → (((𝐴 ∈ (𝔼‘𝑛) ∧ 𝐵 ∈ (𝔼‘𝑛) ∧ 𝐴𝐵) ∧ [⟨𝐴, 𝐵⟩] Colinear = [⟨𝐴, 𝐵⟩] Colinear ) ↔ ((𝐴 ∈ (𝔼‘𝑁) ∧ 𝐵 ∈ (𝔼‘𝑁) ∧ 𝐴𝐵) ∧ [⟨𝐴, 𝐵⟩] Colinear = [⟨𝐴, 𝐵⟩] Colinear )))
76rspcev 3577 . . . . 5 ((𝑁 ∈ ℕ ∧ ((𝐴 ∈ (𝔼‘𝑁) ∧ 𝐵 ∈ (𝔼‘𝑁) ∧ 𝐴𝐵) ∧ [⟨𝐴, 𝐵⟩] Colinear = [⟨𝐴, 𝐵⟩] Colinear )) → ∃𝑛 ∈ ℕ ((𝐴 ∈ (𝔼‘𝑛) ∧ 𝐵 ∈ (𝔼‘𝑛) ∧ 𝐴𝐵) ∧ [⟨𝐴, 𝐵⟩] Colinear = [⟨𝐴, 𝐵⟩] Colinear ))
81, 7mpanr2 704 . . . 4 ((𝑁 ∈ ℕ ∧ (𝐴 ∈ (𝔼‘𝑁) ∧ 𝐵 ∈ (𝔼‘𝑁) ∧ 𝐴𝐵)) → ∃𝑛 ∈ ℕ ((𝐴 ∈ (𝔼‘𝑛) ∧ 𝐵 ∈ (𝔼‘𝑛) ∧ 𝐴𝐵) ∧ [⟨𝐴, 𝐵⟩] Colinear = [⟨𝐴, 𝐵⟩] Colinear ))
9 simpr1 1195 . . . . 5 ((𝑁 ∈ ℕ ∧ (𝐴 ∈ (𝔼‘𝑁) ∧ 𝐵 ∈ (𝔼‘𝑁) ∧ 𝐴𝐵)) → 𝐴 ∈ (𝔼‘𝑁))
10 simpr2 1196 . . . . 5 ((𝑁 ∈ ℕ ∧ (𝐴 ∈ (𝔼‘𝑁) ∧ 𝐵 ∈ (𝔼‘𝑁) ∧ 𝐴𝐵)) → 𝐵 ∈ (𝔼‘𝑁))
11 colinearex 36044 . . . . . . . 8 Colinear ∈ V
1211cnvex 7858 . . . . . . 7 Colinear ∈ V
13 ecexg 8629 . . . . . . 7 ( Colinear ∈ V → [⟨𝐴, 𝐵⟩] Colinear ∈ V)
1412, 13ax-mp 5 . . . . . 6 [⟨𝐴, 𝐵⟩] Colinear ∈ V
15 eleq1 2816 . . . . . . . . . 10 (𝑎 = 𝐴 → (𝑎 ∈ (𝔼‘𝑛) ↔ 𝐴 ∈ (𝔼‘𝑛)))
16 neeq1 2987 . . . . . . . . . 10 (𝑎 = 𝐴 → (𝑎𝑏𝐴𝑏))
1715, 163anbi13d 1440 . . . . . . . . 9 (𝑎 = 𝐴 → ((𝑎 ∈ (𝔼‘𝑛) ∧ 𝑏 ∈ (𝔼‘𝑛) ∧ 𝑎𝑏) ↔ (𝐴 ∈ (𝔼‘𝑛) ∧ 𝑏 ∈ (𝔼‘𝑛) ∧ 𝐴𝑏)))
18 opeq1 4824 . . . . . . . . . . 11 (𝑎 = 𝐴 → ⟨𝑎, 𝑏⟩ = ⟨𝐴, 𝑏⟩)
1918eceq1d 8665 . . . . . . . . . 10 (𝑎 = 𝐴 → [⟨𝑎, 𝑏⟩] Colinear = [⟨𝐴, 𝑏⟩] Colinear )
2019eqeq2d 2740 . . . . . . . . 9 (𝑎 = 𝐴 → (𝑙 = [⟨𝑎, 𝑏⟩] Colinear ↔ 𝑙 = [⟨𝐴, 𝑏⟩] Colinear ))
2117, 20anbi12d 632 . . . . . . . 8 (𝑎 = 𝐴 → (((𝑎 ∈ (𝔼‘𝑛) ∧ 𝑏 ∈ (𝔼‘𝑛) ∧ 𝑎𝑏) ∧ 𝑙 = [⟨𝑎, 𝑏⟩] Colinear ) ↔ ((𝐴 ∈ (𝔼‘𝑛) ∧ 𝑏 ∈ (𝔼‘𝑛) ∧ 𝐴𝑏) ∧ 𝑙 = [⟨𝐴, 𝑏⟩] Colinear )))
2221rexbidv 3153 . . . . . . 7 (𝑎 = 𝐴 → (∃𝑛 ∈ ℕ ((𝑎 ∈ (𝔼‘𝑛) ∧ 𝑏 ∈ (𝔼‘𝑛) ∧ 𝑎𝑏) ∧ 𝑙 = [⟨𝑎, 𝑏⟩] Colinear ) ↔ ∃𝑛 ∈ ℕ ((𝐴 ∈ (𝔼‘𝑛) ∧ 𝑏 ∈ (𝔼‘𝑛) ∧ 𝐴𝑏) ∧ 𝑙 = [⟨𝐴, 𝑏⟩] Colinear )))
23 eleq1 2816 . . . . . . . . . 10 (𝑏 = 𝐵 → (𝑏 ∈ (𝔼‘𝑛) ↔ 𝐵 ∈ (𝔼‘𝑛)))
24 neeq2 2988 . . . . . . . . . 10 (𝑏 = 𝐵 → (𝐴𝑏𝐴𝐵))
2523, 243anbi23d 1441 . . . . . . . . 9 (𝑏 = 𝐵 → ((𝐴 ∈ (𝔼‘𝑛) ∧ 𝑏 ∈ (𝔼‘𝑛) ∧ 𝐴𝑏) ↔ (𝐴 ∈ (𝔼‘𝑛) ∧ 𝐵 ∈ (𝔼‘𝑛) ∧ 𝐴𝐵)))
26 opeq2 4825 . . . . . . . . . . 11 (𝑏 = 𝐵 → ⟨𝐴, 𝑏⟩ = ⟨𝐴, 𝐵⟩)
2726eceq1d 8665 . . . . . . . . . 10 (𝑏 = 𝐵 → [⟨𝐴, 𝑏⟩] Colinear = [⟨𝐴, 𝐵⟩] Colinear )
2827eqeq2d 2740 . . . . . . . . 9 (𝑏 = 𝐵 → (𝑙 = [⟨𝐴, 𝑏⟩] Colinear ↔ 𝑙 = [⟨𝐴, 𝐵⟩] Colinear ))
2925, 28anbi12d 632 . . . . . . . 8 (𝑏 = 𝐵 → (((𝐴 ∈ (𝔼‘𝑛) ∧ 𝑏 ∈ (𝔼‘𝑛) ∧ 𝐴𝑏) ∧ 𝑙 = [⟨𝐴, 𝑏⟩] Colinear ) ↔ ((𝐴 ∈ (𝔼‘𝑛) ∧ 𝐵 ∈ (𝔼‘𝑛) ∧ 𝐴𝐵) ∧ 𝑙 = [⟨𝐴, 𝐵⟩] Colinear )))
3029rexbidv 3153 . . . . . . 7 (𝑏 = 𝐵 → (∃𝑛 ∈ ℕ ((𝐴 ∈ (𝔼‘𝑛) ∧ 𝑏 ∈ (𝔼‘𝑛) ∧ 𝐴𝑏) ∧ 𝑙 = [⟨𝐴, 𝑏⟩] Colinear ) ↔ ∃𝑛 ∈ ℕ ((𝐴 ∈ (𝔼‘𝑛) ∧ 𝐵 ∈ (𝔼‘𝑛) ∧ 𝐴𝐵) ∧ 𝑙 = [⟨𝐴, 𝐵⟩] Colinear )))
31 eqeq1 2733 . . . . . . . . 9 (𝑙 = [⟨𝐴, 𝐵⟩] Colinear → (𝑙 = [⟨𝐴, 𝐵⟩] Colinear ↔ [⟨𝐴, 𝐵⟩] Colinear = [⟨𝐴, 𝐵⟩] Colinear ))
3231anbi2d 630 . . . . . . . 8 (𝑙 = [⟨𝐴, 𝐵⟩] Colinear → (((𝐴 ∈ (𝔼‘𝑛) ∧ 𝐵 ∈ (𝔼‘𝑛) ∧ 𝐴𝐵) ∧ 𝑙 = [⟨𝐴, 𝐵⟩] Colinear ) ↔ ((𝐴 ∈ (𝔼‘𝑛) ∧ 𝐵 ∈ (𝔼‘𝑛) ∧ 𝐴𝐵) ∧ [⟨𝐴, 𝐵⟩] Colinear = [⟨𝐴, 𝐵⟩] Colinear )))
3332rexbidv 3153 . . . . . . 7 (𝑙 = [⟨𝐴, 𝐵⟩] Colinear → (∃𝑛 ∈ ℕ ((𝐴 ∈ (𝔼‘𝑛) ∧ 𝐵 ∈ (𝔼‘𝑛) ∧ 𝐴𝐵) ∧ 𝑙 = [⟨𝐴, 𝐵⟩] Colinear ) ↔ ∃𝑛 ∈ ℕ ((𝐴 ∈ (𝔼‘𝑛) ∧ 𝐵 ∈ (𝔼‘𝑛) ∧ 𝐴𝐵) ∧ [⟨𝐴, 𝐵⟩] Colinear = [⟨𝐴, 𝐵⟩] Colinear )))
3422, 30, 33eloprabg 7459 . . . . . 6 ((𝐴 ∈ (𝔼‘𝑁) ∧ 𝐵 ∈ (𝔼‘𝑁) ∧ [⟨𝐴, 𝐵⟩] Colinear ∈ V) → (⟨⟨𝐴, 𝐵⟩, [⟨𝐴, 𝐵⟩] Colinear ⟩ ∈ {⟨⟨𝑎, 𝑏⟩, 𝑙⟩ ∣ ∃𝑛 ∈ ℕ ((𝑎 ∈ (𝔼‘𝑛) ∧ 𝑏 ∈ (𝔼‘𝑛) ∧ 𝑎𝑏) ∧ 𝑙 = [⟨𝑎, 𝑏⟩] Colinear )} ↔ ∃𝑛 ∈ ℕ ((𝐴 ∈ (𝔼‘𝑛) ∧ 𝐵 ∈ (𝔼‘𝑛) ∧ 𝐴𝐵) ∧ [⟨𝐴, 𝐵⟩] Colinear = [⟨𝐴, 𝐵⟩] Colinear )))
3514, 34mp3an3 1452 . . . . 5 ((𝐴 ∈ (𝔼‘𝑁) ∧ 𝐵 ∈ (𝔼‘𝑁)) → (⟨⟨𝐴, 𝐵⟩, [⟨𝐴, 𝐵⟩] Colinear ⟩ ∈ {⟨⟨𝑎, 𝑏⟩, 𝑙⟩ ∣ ∃𝑛 ∈ ℕ ((𝑎 ∈ (𝔼‘𝑛) ∧ 𝑏 ∈ (𝔼‘𝑛) ∧ 𝑎𝑏) ∧ 𝑙 = [⟨𝑎, 𝑏⟩] Colinear )} ↔ ∃𝑛 ∈ ℕ ((𝐴 ∈ (𝔼‘𝑛) ∧ 𝐵 ∈ (𝔼‘𝑛) ∧ 𝐴𝐵) ∧ [⟨𝐴, 𝐵⟩] Colinear = [⟨𝐴, 𝐵⟩] Colinear )))
369, 10, 35syl2anc 584 . . . 4 ((𝑁 ∈ ℕ ∧ (𝐴 ∈ (𝔼‘𝑁) ∧ 𝐵 ∈ (𝔼‘𝑁) ∧ 𝐴𝐵)) → (⟨⟨𝐴, 𝐵⟩, [⟨𝐴, 𝐵⟩] Colinear ⟩ ∈ {⟨⟨𝑎, 𝑏⟩, 𝑙⟩ ∣ ∃𝑛 ∈ ℕ ((𝑎 ∈ (𝔼‘𝑛) ∧ 𝑏 ∈ (𝔼‘𝑛) ∧ 𝑎𝑏) ∧ 𝑙 = [⟨𝑎, 𝑏⟩] Colinear )} ↔ ∃𝑛 ∈ ℕ ((𝐴 ∈ (𝔼‘𝑛) ∧ 𝐵 ∈ (𝔼‘𝑛) ∧ 𝐴𝐵) ∧ [⟨𝐴, 𝐵⟩] Colinear = [⟨𝐴, 𝐵⟩] Colinear )))
378, 36mpbird 257 . . 3 ((𝑁 ∈ ℕ ∧ (𝐴 ∈ (𝔼‘𝑁) ∧ 𝐵 ∈ (𝔼‘𝑁) ∧ 𝐴𝐵)) → ⟨⟨𝐴, 𝐵⟩, [⟨𝐴, 𝐵⟩] Colinear ⟩ ∈ {⟨⟨𝑎, 𝑏⟩, 𝑙⟩ ∣ ∃𝑛 ∈ ℕ ((𝑎 ∈ (𝔼‘𝑛) ∧ 𝑏 ∈ (𝔼‘𝑛) ∧ 𝑎𝑏) ∧ 𝑙 = [⟨𝑎, 𝑏⟩] Colinear )})
38 df-ov 7352 . . . 4 (𝐴Line𝐵) = (Line‘⟨𝐴, 𝐵⟩)
39 df-br 5093 . . . . . 6 (⟨𝐴, 𝐵⟩Line[⟨𝐴, 𝐵⟩] Colinear ↔ ⟨⟨𝐴, 𝐵⟩, [⟨𝐴, 𝐵⟩] Colinear ⟩ ∈ Line)
40 df-line2 36121 . . . . . . 7 Line = {⟨⟨𝑎, 𝑏⟩, 𝑙⟩ ∣ ∃𝑛 ∈ ℕ ((𝑎 ∈ (𝔼‘𝑛) ∧ 𝑏 ∈ (𝔼‘𝑛) ∧ 𝑎𝑏) ∧ 𝑙 = [⟨𝑎, 𝑏⟩] Colinear )}
4140eleq2i 2820 . . . . . 6 (⟨⟨𝐴, 𝐵⟩, [⟨𝐴, 𝐵⟩] Colinear ⟩ ∈ Line ↔ ⟨⟨𝐴, 𝐵⟩, [⟨𝐴, 𝐵⟩] Colinear ⟩ ∈ {⟨⟨𝑎, 𝑏⟩, 𝑙⟩ ∣ ∃𝑛 ∈ ℕ ((𝑎 ∈ (𝔼‘𝑛) ∧ 𝑏 ∈ (𝔼‘𝑛) ∧ 𝑎𝑏) ∧ 𝑙 = [⟨𝑎, 𝑏⟩] Colinear )})
4239, 41bitri 275 . . . . 5 (⟨𝐴, 𝐵⟩Line[⟨𝐴, 𝐵⟩] Colinear ↔ ⟨⟨𝐴, 𝐵⟩, [⟨𝐴, 𝐵⟩] Colinear ⟩ ∈ {⟨⟨𝑎, 𝑏⟩, 𝑙⟩ ∣ ∃𝑛 ∈ ℕ ((𝑎 ∈ (𝔼‘𝑛) ∧ 𝑏 ∈ (𝔼‘𝑛) ∧ 𝑎𝑏) ∧ 𝑙 = [⟨𝑎, 𝑏⟩] Colinear )})
43 funline 36126 . . . . . 6 Fun Line
44 funbrfv 6871 . . . . . 6 (Fun Line → (⟨𝐴, 𝐵⟩Line[⟨𝐴, 𝐵⟩] Colinear → (Line‘⟨𝐴, 𝐵⟩) = [⟨𝐴, 𝐵⟩] Colinear ))
4543, 44ax-mp 5 . . . . 5 (⟨𝐴, 𝐵⟩Line[⟨𝐴, 𝐵⟩] Colinear → (Line‘⟨𝐴, 𝐵⟩) = [⟨𝐴, 𝐵⟩] Colinear )
4642, 45sylbir 235 . . . 4 (⟨⟨𝐴, 𝐵⟩, [⟨𝐴, 𝐵⟩] Colinear ⟩ ∈ {⟨⟨𝑎, 𝑏⟩, 𝑙⟩ ∣ ∃𝑛 ∈ ℕ ((𝑎 ∈ (𝔼‘𝑛) ∧ 𝑏 ∈ (𝔼‘𝑛) ∧ 𝑎𝑏) ∧ 𝑙 = [⟨𝑎, 𝑏⟩] Colinear )} → (Line‘⟨𝐴, 𝐵⟩) = [⟨𝐴, 𝐵⟩] Colinear )
4738, 46eqtrid 2776 . . 3 (⟨⟨𝐴, 𝐵⟩, [⟨𝐴, 𝐵⟩] Colinear ⟩ ∈ {⟨⟨𝑎, 𝑏⟩, 𝑙⟩ ∣ ∃𝑛 ∈ ℕ ((𝑎 ∈ (𝔼‘𝑛) ∧ 𝑏 ∈ (𝔼‘𝑛) ∧ 𝑎𝑏) ∧ 𝑙 = [⟨𝑎, 𝑏⟩] Colinear )} → (𝐴Line𝐵) = [⟨𝐴, 𝐵⟩] Colinear )
4837, 47syl 17 . 2 ((𝑁 ∈ ℕ ∧ (𝐴 ∈ (𝔼‘𝑁) ∧ 𝐵 ∈ (𝔼‘𝑁) ∧ 𝐴𝐵)) → (𝐴Line𝐵) = [⟨𝐴, 𝐵⟩] Colinear )
49 opex 5407 . . . 4 𝐴, 𝐵⟩ ∈ V
50 dfec2 8628 . . . 4 (⟨𝐴, 𝐵⟩ ∈ V → [⟨𝐴, 𝐵⟩] Colinear = {𝑥 ∣ ⟨𝐴, 𝐵 Colinear 𝑥})
5149, 50ax-mp 5 . . 3 [⟨𝐴, 𝐵⟩] Colinear = {𝑥 ∣ ⟨𝐴, 𝐵 Colinear 𝑥}
52 vex 3440 . . . . 5 𝑥 ∈ V
5349, 52brcnv 5825 . . . 4 (⟨𝐴, 𝐵 Colinear 𝑥𝑥 Colinear ⟨𝐴, 𝐵⟩)
5453abbii 2796 . . 3 {𝑥 ∣ ⟨𝐴, 𝐵 Colinear 𝑥} = {𝑥𝑥 Colinear ⟨𝐴, 𝐵⟩}
5551, 54eqtri 2752 . 2 [⟨𝐴, 𝐵⟩] Colinear = {𝑥𝑥 Colinear ⟨𝐴, 𝐵⟩}
5648, 55eqtrdi 2780 1 ((𝑁 ∈ ℕ ∧ (𝐴 ∈ (𝔼‘𝑁) ∧ 𝐵 ∈ (𝔼‘𝑁) ∧ 𝐴𝐵)) → (𝐴Line𝐵) = {𝑥𝑥 Colinear ⟨𝐴, 𝐵⟩})
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 206  wa 395  w3a 1086   = wceq 1540  wcel 2109  {cab 2707  wne 2925  wrex 3053  Vcvv 3436  cop 4583   class class class wbr 5092  ccnv 5618  Fun wfun 6476  cfv 6482  (class class class)co 7349  {coprab 7350  [cec 8623  cn 12128  𝔼cee 28833   Colinear ccolin 36021  Linecline2 36118
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1795  ax-4 1809  ax-5 1910  ax-6 1967  ax-7 2008  ax-8 2111  ax-9 2119  ax-10 2142  ax-11 2158  ax-12 2178  ax-ext 2701  ax-rep 5218  ax-sep 5235  ax-nul 5245  ax-pow 5304  ax-pr 5371  ax-un 7671  ax-cnex 11065  ax-1cn 11067  ax-addcl 11069
This theorem depends on definitions:  df-bi 207  df-an 396  df-or 848  df-3or 1087  df-3an 1088  df-tru 1543  df-fal 1553  df-ex 1780  df-nf 1784  df-sb 2066  df-mo 2533  df-eu 2562  df-clab 2708  df-cleq 2721  df-clel 2803  df-nfc 2878  df-ne 2926  df-ral 3045  df-rex 3054  df-reu 3344  df-rab 3395  df-v 3438  df-sbc 3743  df-csb 3852  df-dif 3906  df-un 3908  df-in 3910  df-ss 3920  df-pss 3923  df-nul 4285  df-if 4477  df-pw 4553  df-sn 4578  df-pr 4580  df-op 4584  df-uni 4859  df-iun 4943  df-br 5093  df-opab 5155  df-mpt 5174  df-tr 5200  df-id 5514  df-eprel 5519  df-po 5527  df-so 5528  df-fr 5572  df-we 5574  df-xp 5625  df-rel 5626  df-cnv 5627  df-co 5628  df-dm 5629  df-rn 5630  df-res 5631  df-ima 5632  df-pred 6249  df-ord 6310  df-on 6311  df-lim 6312  df-suc 6313  df-iota 6438  df-fun 6484  df-fn 6485  df-f 6486  df-f1 6487  df-fo 6488  df-f1o 6489  df-fv 6490  df-ov 7352  df-oprab 7353  df-om 7800  df-2nd 7925  df-frecs 8214  df-wrecs 8245  df-recs 8294  df-rdg 8332  df-ec 8627  df-nn 12129  df-colinear 36023  df-line2 36121
This theorem is referenced by:  liness  36129  fvline2  36130  ellines  36136
  Copyright terms: Public domain W3C validator