Metamath Proof Explorer


Theorem pellqrexplicit

Description: Condition for a calculated real to be a Pell solution. (Contributed by Stefan O'Rear, 19-Sep-2014)

Ref Expression
Assertion pellqrexplicit ( ( ( 𝐷 ∈ ( ℕ ∖ ◻NN ) ∧ 𝐴 ∈ ℕ0𝐵 ∈ ℕ0 ) ∧ ( ( 𝐴 ↑ 2 ) − ( 𝐷 · ( 𝐵 ↑ 2 ) ) ) = 1 ) → ( 𝐴 + ( ( √ ‘ 𝐷 ) · 𝐵 ) ) ∈ ( Pell1QR ‘ 𝐷 ) )

Proof

Step Hyp Ref Expression
1 nn0re ( 𝐴 ∈ ℕ0𝐴 ∈ ℝ )
2 1 3ad2ant2 ( ( 𝐷 ∈ ( ℕ ∖ ◻NN ) ∧ 𝐴 ∈ ℕ0𝐵 ∈ ℕ0 ) → 𝐴 ∈ ℝ )
3 eldifi ( 𝐷 ∈ ( ℕ ∖ ◻NN ) → 𝐷 ∈ ℕ )
4 3 3ad2ant1 ( ( 𝐷 ∈ ( ℕ ∖ ◻NN ) ∧ 𝐴 ∈ ℕ0𝐵 ∈ ℕ0 ) → 𝐷 ∈ ℕ )
5 4 nnrpd ( ( 𝐷 ∈ ( ℕ ∖ ◻NN ) ∧ 𝐴 ∈ ℕ0𝐵 ∈ ℕ0 ) → 𝐷 ∈ ℝ+ )
6 5 rpsqrtcld ( ( 𝐷 ∈ ( ℕ ∖ ◻NN ) ∧ 𝐴 ∈ ℕ0𝐵 ∈ ℕ0 ) → ( √ ‘ 𝐷 ) ∈ ℝ+ )
7 6 rpred ( ( 𝐷 ∈ ( ℕ ∖ ◻NN ) ∧ 𝐴 ∈ ℕ0𝐵 ∈ ℕ0 ) → ( √ ‘ 𝐷 ) ∈ ℝ )
8 nn0re ( 𝐵 ∈ ℕ0𝐵 ∈ ℝ )
9 8 3ad2ant3 ( ( 𝐷 ∈ ( ℕ ∖ ◻NN ) ∧ 𝐴 ∈ ℕ0𝐵 ∈ ℕ0 ) → 𝐵 ∈ ℝ )
10 7 9 remulcld ( ( 𝐷 ∈ ( ℕ ∖ ◻NN ) ∧ 𝐴 ∈ ℕ0𝐵 ∈ ℕ0 ) → ( ( √ ‘ 𝐷 ) · 𝐵 ) ∈ ℝ )
11 2 10 readdcld ( ( 𝐷 ∈ ( ℕ ∖ ◻NN ) ∧ 𝐴 ∈ ℕ0𝐵 ∈ ℕ0 ) → ( 𝐴 + ( ( √ ‘ 𝐷 ) · 𝐵 ) ) ∈ ℝ )
12 11 adantr ( ( ( 𝐷 ∈ ( ℕ ∖ ◻NN ) ∧ 𝐴 ∈ ℕ0𝐵 ∈ ℕ0 ) ∧ ( ( 𝐴 ↑ 2 ) − ( 𝐷 · ( 𝐵 ↑ 2 ) ) ) = 1 ) → ( 𝐴 + ( ( √ ‘ 𝐷 ) · 𝐵 ) ) ∈ ℝ )
13 simpl2 ( ( ( 𝐷 ∈ ( ℕ ∖ ◻NN ) ∧ 𝐴 ∈ ℕ0𝐵 ∈ ℕ0 ) ∧ ( ( 𝐴 ↑ 2 ) − ( 𝐷 · ( 𝐵 ↑ 2 ) ) ) = 1 ) → 𝐴 ∈ ℕ0 )
14 simpl3 ( ( ( 𝐷 ∈ ( ℕ ∖ ◻NN ) ∧ 𝐴 ∈ ℕ0𝐵 ∈ ℕ0 ) ∧ ( ( 𝐴 ↑ 2 ) − ( 𝐷 · ( 𝐵 ↑ 2 ) ) ) = 1 ) → 𝐵 ∈ ℕ0 )
15 eqidd ( ( ( 𝐷 ∈ ( ℕ ∖ ◻NN ) ∧ 𝐴 ∈ ℕ0𝐵 ∈ ℕ0 ) ∧ ( ( 𝐴 ↑ 2 ) − ( 𝐷 · ( 𝐵 ↑ 2 ) ) ) = 1 ) → ( 𝐴 + ( ( √ ‘ 𝐷 ) · 𝐵 ) ) = ( 𝐴 + ( ( √ ‘ 𝐷 ) · 𝐵 ) ) )
16 simpr ( ( ( 𝐷 ∈ ( ℕ ∖ ◻NN ) ∧ 𝐴 ∈ ℕ0𝐵 ∈ ℕ0 ) ∧ ( ( 𝐴 ↑ 2 ) − ( 𝐷 · ( 𝐵 ↑ 2 ) ) ) = 1 ) → ( ( 𝐴 ↑ 2 ) − ( 𝐷 · ( 𝐵 ↑ 2 ) ) ) = 1 )
17 oveq1 ( 𝑎 = 𝐴 → ( 𝑎 + ( ( √ ‘ 𝐷 ) · 𝑏 ) ) = ( 𝐴 + ( ( √ ‘ 𝐷 ) · 𝑏 ) ) )
18 17 eqeq2d ( 𝑎 = 𝐴 → ( ( 𝐴 + ( ( √ ‘ 𝐷 ) · 𝐵 ) ) = ( 𝑎 + ( ( √ ‘ 𝐷 ) · 𝑏 ) ) ↔ ( 𝐴 + ( ( √ ‘ 𝐷 ) · 𝐵 ) ) = ( 𝐴 + ( ( √ ‘ 𝐷 ) · 𝑏 ) ) ) )
19 oveq1 ( 𝑎 = 𝐴 → ( 𝑎 ↑ 2 ) = ( 𝐴 ↑ 2 ) )
20 19 oveq1d ( 𝑎 = 𝐴 → ( ( 𝑎 ↑ 2 ) − ( 𝐷 · ( 𝑏 ↑ 2 ) ) ) = ( ( 𝐴 ↑ 2 ) − ( 𝐷 · ( 𝑏 ↑ 2 ) ) ) )
21 20 eqeq1d ( 𝑎 = 𝐴 → ( ( ( 𝑎 ↑ 2 ) − ( 𝐷 · ( 𝑏 ↑ 2 ) ) ) = 1 ↔ ( ( 𝐴 ↑ 2 ) − ( 𝐷 · ( 𝑏 ↑ 2 ) ) ) = 1 ) )
22 18 21 anbi12d ( 𝑎 = 𝐴 → ( ( ( 𝐴 + ( ( √ ‘ 𝐷 ) · 𝐵 ) ) = ( 𝑎 + ( ( √ ‘ 𝐷 ) · 𝑏 ) ) ∧ ( ( 𝑎 ↑ 2 ) − ( 𝐷 · ( 𝑏 ↑ 2 ) ) ) = 1 ) ↔ ( ( 𝐴 + ( ( √ ‘ 𝐷 ) · 𝐵 ) ) = ( 𝐴 + ( ( √ ‘ 𝐷 ) · 𝑏 ) ) ∧ ( ( 𝐴 ↑ 2 ) − ( 𝐷 · ( 𝑏 ↑ 2 ) ) ) = 1 ) ) )
23 oveq2 ( 𝑏 = 𝐵 → ( ( √ ‘ 𝐷 ) · 𝑏 ) = ( ( √ ‘ 𝐷 ) · 𝐵 ) )
24 23 oveq2d ( 𝑏 = 𝐵 → ( 𝐴 + ( ( √ ‘ 𝐷 ) · 𝑏 ) ) = ( 𝐴 + ( ( √ ‘ 𝐷 ) · 𝐵 ) ) )
25 24 eqeq2d ( 𝑏 = 𝐵 → ( ( 𝐴 + ( ( √ ‘ 𝐷 ) · 𝐵 ) ) = ( 𝐴 + ( ( √ ‘ 𝐷 ) · 𝑏 ) ) ↔ ( 𝐴 + ( ( √ ‘ 𝐷 ) · 𝐵 ) ) = ( 𝐴 + ( ( √ ‘ 𝐷 ) · 𝐵 ) ) ) )
26 oveq1 ( 𝑏 = 𝐵 → ( 𝑏 ↑ 2 ) = ( 𝐵 ↑ 2 ) )
27 26 oveq2d ( 𝑏 = 𝐵 → ( 𝐷 · ( 𝑏 ↑ 2 ) ) = ( 𝐷 · ( 𝐵 ↑ 2 ) ) )
28 27 oveq2d ( 𝑏 = 𝐵 → ( ( 𝐴 ↑ 2 ) − ( 𝐷 · ( 𝑏 ↑ 2 ) ) ) = ( ( 𝐴 ↑ 2 ) − ( 𝐷 · ( 𝐵 ↑ 2 ) ) ) )
29 28 eqeq1d ( 𝑏 = 𝐵 → ( ( ( 𝐴 ↑ 2 ) − ( 𝐷 · ( 𝑏 ↑ 2 ) ) ) = 1 ↔ ( ( 𝐴 ↑ 2 ) − ( 𝐷 · ( 𝐵 ↑ 2 ) ) ) = 1 ) )
30 25 29 anbi12d ( 𝑏 = 𝐵 → ( ( ( 𝐴 + ( ( √ ‘ 𝐷 ) · 𝐵 ) ) = ( 𝐴 + ( ( √ ‘ 𝐷 ) · 𝑏 ) ) ∧ ( ( 𝐴 ↑ 2 ) − ( 𝐷 · ( 𝑏 ↑ 2 ) ) ) = 1 ) ↔ ( ( 𝐴 + ( ( √ ‘ 𝐷 ) · 𝐵 ) ) = ( 𝐴 + ( ( √ ‘ 𝐷 ) · 𝐵 ) ) ∧ ( ( 𝐴 ↑ 2 ) − ( 𝐷 · ( 𝐵 ↑ 2 ) ) ) = 1 ) ) )
31 22 30 rspc2ev ( ( 𝐴 ∈ ℕ0𝐵 ∈ ℕ0 ∧ ( ( 𝐴 + ( ( √ ‘ 𝐷 ) · 𝐵 ) ) = ( 𝐴 + ( ( √ ‘ 𝐷 ) · 𝐵 ) ) ∧ ( ( 𝐴 ↑ 2 ) − ( 𝐷 · ( 𝐵 ↑ 2 ) ) ) = 1 ) ) → ∃ 𝑎 ∈ ℕ0𝑏 ∈ ℕ0 ( ( 𝐴 + ( ( √ ‘ 𝐷 ) · 𝐵 ) ) = ( 𝑎 + ( ( √ ‘ 𝐷 ) · 𝑏 ) ) ∧ ( ( 𝑎 ↑ 2 ) − ( 𝐷 · ( 𝑏 ↑ 2 ) ) ) = 1 ) )
32 13 14 15 16 31 syl112anc ( ( ( 𝐷 ∈ ( ℕ ∖ ◻NN ) ∧ 𝐴 ∈ ℕ0𝐵 ∈ ℕ0 ) ∧ ( ( 𝐴 ↑ 2 ) − ( 𝐷 · ( 𝐵 ↑ 2 ) ) ) = 1 ) → ∃ 𝑎 ∈ ℕ0𝑏 ∈ ℕ0 ( ( 𝐴 + ( ( √ ‘ 𝐷 ) · 𝐵 ) ) = ( 𝑎 + ( ( √ ‘ 𝐷 ) · 𝑏 ) ) ∧ ( ( 𝑎 ↑ 2 ) − ( 𝐷 · ( 𝑏 ↑ 2 ) ) ) = 1 ) )
33 elpell1qr ( 𝐷 ∈ ( ℕ ∖ ◻NN ) → ( ( 𝐴 + ( ( √ ‘ 𝐷 ) · 𝐵 ) ) ∈ ( Pell1QR ‘ 𝐷 ) ↔ ( ( 𝐴 + ( ( √ ‘ 𝐷 ) · 𝐵 ) ) ∈ ℝ ∧ ∃ 𝑎 ∈ ℕ0𝑏 ∈ ℕ0 ( ( 𝐴 + ( ( √ ‘ 𝐷 ) · 𝐵 ) ) = ( 𝑎 + ( ( √ ‘ 𝐷 ) · 𝑏 ) ) ∧ ( ( 𝑎 ↑ 2 ) − ( 𝐷 · ( 𝑏 ↑ 2 ) ) ) = 1 ) ) ) )
34 33 3ad2ant1 ( ( 𝐷 ∈ ( ℕ ∖ ◻NN ) ∧ 𝐴 ∈ ℕ0𝐵 ∈ ℕ0 ) → ( ( 𝐴 + ( ( √ ‘ 𝐷 ) · 𝐵 ) ) ∈ ( Pell1QR ‘ 𝐷 ) ↔ ( ( 𝐴 + ( ( √ ‘ 𝐷 ) · 𝐵 ) ) ∈ ℝ ∧ ∃ 𝑎 ∈ ℕ0𝑏 ∈ ℕ0 ( ( 𝐴 + ( ( √ ‘ 𝐷 ) · 𝐵 ) ) = ( 𝑎 + ( ( √ ‘ 𝐷 ) · 𝑏 ) ) ∧ ( ( 𝑎 ↑ 2 ) − ( 𝐷 · ( 𝑏 ↑ 2 ) ) ) = 1 ) ) ) )
35 34 adantr ( ( ( 𝐷 ∈ ( ℕ ∖ ◻NN ) ∧ 𝐴 ∈ ℕ0𝐵 ∈ ℕ0 ) ∧ ( ( 𝐴 ↑ 2 ) − ( 𝐷 · ( 𝐵 ↑ 2 ) ) ) = 1 ) → ( ( 𝐴 + ( ( √ ‘ 𝐷 ) · 𝐵 ) ) ∈ ( Pell1QR ‘ 𝐷 ) ↔ ( ( 𝐴 + ( ( √ ‘ 𝐷 ) · 𝐵 ) ) ∈ ℝ ∧ ∃ 𝑎 ∈ ℕ0𝑏 ∈ ℕ0 ( ( 𝐴 + ( ( √ ‘ 𝐷 ) · 𝐵 ) ) = ( 𝑎 + ( ( √ ‘ 𝐷 ) · 𝑏 ) ) ∧ ( ( 𝑎 ↑ 2 ) − ( 𝐷 · ( 𝑏 ↑ 2 ) ) ) = 1 ) ) ) )
36 12 32 35 mpbir2and ( ( ( 𝐷 ∈ ( ℕ ∖ ◻NN ) ∧ 𝐴 ∈ ℕ0𝐵 ∈ ℕ0 ) ∧ ( ( 𝐴 ↑ 2 ) − ( 𝐷 · ( 𝐵 ↑ 2 ) ) ) = 1 ) → ( 𝐴 + ( ( √ ‘ 𝐷 ) · 𝐵 ) ) ∈ ( Pell1QR ‘ 𝐷 ) )