Metamath Proof Explorer


Theorem pell1234qrmulcl

Description: General solutions of the Pell equation are closed under multiplication. (Contributed by Stefan O'Rear, 18-Sep-2014)

Ref Expression
Assertion pell1234qrmulcl DAPell1234QRDBPell1234QRDABPell1234QRD

Proof

Step Hyp Ref Expression
1 remulcl ABAB
2 1 ad5antlr DABabA=a+Dba2Db2=1cdB=c+Ddc2Dd2=1AB
3 simprl DABaba
4 3 ad3antrrr DABabA=a+Dba2Db2=1cdB=c+Ddc2Dd2=1a
5 simplrl DABabA=a+Dba2Db2=1cdB=c+Ddc2Dd2=1c
6 4 5 zmulcld DABabA=a+Dba2Db2=1cdB=c+Ddc2Dd2=1ac
7 eldifi DD
8 7 ad2antrr DABabD
9 8 nnzd DABabD
10 9 ad3antrrr DABabA=a+Dba2Db2=1cdB=c+Ddc2Dd2=1D
11 simplrr DABabA=a+Dba2Db2=1cdB=c+Ddc2Dd2=1d
12 simprr DABabb
13 12 ad3antrrr DABabA=a+Dba2Db2=1cdB=c+Ddc2Dd2=1b
14 11 13 zmulcld DABabA=a+Dba2Db2=1cdB=c+Ddc2Dd2=1db
15 10 14 zmulcld DABabA=a+Dba2Db2=1cdB=c+Ddc2Dd2=1Ddb
16 6 15 zaddcld DABabA=a+Dba2Db2=1cdB=c+Ddc2Dd2=1ac+Ddb
17 4 11 zmulcld DABabA=a+Dba2Db2=1cdB=c+Ddc2Dd2=1ad
18 5 13 zmulcld DABabA=a+Dba2Db2=1cdB=c+Ddc2Dd2=1cb
19 17 18 zaddcld DABabA=a+Dba2Db2=1cdB=c+Ddc2Dd2=1ad+cb
20 simprl DABabA=a+Dba2Db2=1A=a+Db
21 20 ad2antrr DABabA=a+Dba2Db2=1cdB=c+Ddc2Dd2=1A=a+Db
22 simprl DABabA=a+Dba2Db2=1cdB=c+Ddc2Dd2=1B=c+Dd
23 21 22 oveq12d DABabA=a+Dba2Db2=1cdB=c+Ddc2Dd2=1AB=a+Dbc+Dd
24 zcn aa
25 24 ad2antrl DABaba
26 25 ad3antrrr DABabA=a+Dba2Db2=1cdB=c+Ddc2Dd2=1a
27 8 nncnd DABabD
28 27 ad3antrrr DABabA=a+Dba2Db2=1cdB=c+Ddc2Dd2=1D
29 28 sqrtcld DABabA=a+Dba2Db2=1cdB=c+Ddc2Dd2=1D
30 zcn bb
31 30 ad2antll DABabb
32 31 ad3antrrr DABabA=a+Dba2Db2=1cdB=c+Ddc2Dd2=1b
33 29 32 mulcld DABabA=a+Dba2Db2=1cdB=c+Ddc2Dd2=1Db
34 zcn cc
35 34 adantr cdc
36 35 ad2antlr DABabA=a+Dba2Db2=1cdB=c+Ddc2Dd2=1c
37 zcn dd
38 37 adantl cdd
39 38 ad2antlr DABabA=a+Dba2Db2=1cdB=c+Ddc2Dd2=1d
40 29 39 mulcld DABabA=a+Dba2Db2=1cdB=c+Ddc2Dd2=1Dd
41 26 33 36 40 muladdd DABabA=a+Dba2Db2=1cdB=c+Ddc2Dd2=1a+Dbc+Dd=ac+DdDb+aDd+cDb
42 29 39 29 32 mul4d DABabA=a+Dba2Db2=1cdB=c+Ddc2Dd2=1DdDb=DDdb
43 28 msqsqrtd DABabA=a+Dba2Db2=1cdB=c+Ddc2Dd2=1DD=D
44 43 oveq1d DABabA=a+Dba2Db2=1cdB=c+Ddc2Dd2=1DDdb=Ddb
45 42 44 eqtrd DABabA=a+Dba2Db2=1cdB=c+Ddc2Dd2=1DdDb=Ddb
46 45 oveq2d DABabA=a+Dba2Db2=1cdB=c+Ddc2Dd2=1ac+DdDb=ac+Ddb
47 26 29 39 mul12d DABabA=a+Dba2Db2=1cdB=c+Ddc2Dd2=1aDd=Dad
48 36 29 32 mul12d DABabA=a+Dba2Db2=1cdB=c+Ddc2Dd2=1cDb=Dcb
49 47 48 oveq12d DABabA=a+Dba2Db2=1cdB=c+Ddc2Dd2=1aDd+cDb=Dad+Dcb
50 26 39 mulcld DABabA=a+Dba2Db2=1cdB=c+Ddc2Dd2=1ad
51 36 32 mulcld DABabA=a+Dba2Db2=1cdB=c+Ddc2Dd2=1cb
52 29 50 51 adddid DABabA=a+Dba2Db2=1cdB=c+Ddc2Dd2=1Dad+cb=Dad+Dcb
53 49 52 eqtr4d DABabA=a+Dba2Db2=1cdB=c+Ddc2Dd2=1aDd+cDb=Dad+cb
54 46 53 oveq12d DABabA=a+Dba2Db2=1cdB=c+Ddc2Dd2=1ac+DdDb+aDd+cDb=ac+Ddb+Dad+cb
55 23 41 54 3eqtrd DABabA=a+Dba2Db2=1cdB=c+Ddc2Dd2=1AB=ac+Ddb+Dad+cb
56 50 51 addcld DABabA=a+Dba2Db2=1cdB=c+Ddc2Dd2=1ad+cb
57 29 56 sqmuld DABabA=a+Dba2Db2=1cdB=c+Ddc2Dd2=1Dad+cb2=D2ad+cb2
58 28 sqsqrtd DABabA=a+Dba2Db2=1cdB=c+Ddc2Dd2=1D2=D
59 58 oveq1d DABabA=a+Dba2Db2=1cdB=c+Ddc2Dd2=1D2ad+cb2=Dad+cb2
60 57 59 eqtr2d DABabA=a+Dba2Db2=1cdB=c+Ddc2Dd2=1Dad+cb2=Dad+cb2
61 60 oveq2d DABabA=a+Dba2Db2=1cdB=c+Ddc2Dd2=1ac+Ddb2Dad+cb2=ac+Ddb2Dad+cb2
62 26 36 mulcld DABabA=a+Dba2Db2=1cdB=c+Ddc2Dd2=1ac
63 39 32 mulcld DABabA=a+Dba2Db2=1cdB=c+Ddc2Dd2=1db
64 28 63 mulcld DABabA=a+Dba2Db2=1cdB=c+Ddc2Dd2=1Ddb
65 62 64 addcld DABabA=a+Dba2Db2=1cdB=c+Ddc2Dd2=1ac+Ddb
66 29 56 mulcld DABabA=a+Dba2Db2=1cdB=c+Ddc2Dd2=1Dad+cb
67 subsq ac+DdbDad+cbac+Ddb2Dad+cb2=ac+Ddb+Dad+cbac+Ddb-Dad+cb
68 65 66 67 syl2anc DABabA=a+Dba2Db2=1cdB=c+Ddc2Dd2=1ac+Ddb2Dad+cb2=ac+Ddb+Dad+cbac+Ddb-Dad+cb
69 41 54 eqtr2d DABabA=a+Dba2Db2=1cdB=c+Ddc2Dd2=1ac+Ddb+Dad+cb=a+Dbc+Dd
70 26 33 36 40 mulsubd DABabA=a+Dba2Db2=1cdB=c+Ddc2Dd2=1aDbcDd=ac+DdDb-aDd+cDb
71 46 53 oveq12d DABabA=a+Dba2Db2=1cdB=c+Ddc2Dd2=1ac+DdDb-aDd+cDb=ac+Ddb-Dad+cb
72 70 71 eqtr2d DABabA=a+Dba2Db2=1cdB=c+Ddc2Dd2=1ac+Ddb-Dad+cb=aDbcDd
73 69 72 oveq12d DABabA=a+Dba2Db2=1cdB=c+Ddc2Dd2=1ac+Ddb+Dad+cbac+Ddb-Dad+cb=a+Dbc+DdaDbcDd
74 61 68 73 3eqtrd DABabA=a+Dba2Db2=1cdB=c+Ddc2Dd2=1ac+Ddb2Dad+cb2=a+Dbc+DdaDbcDd
75 26 33 addcld DABabA=a+Dba2Db2=1cdB=c+Ddc2Dd2=1a+Db
76 36 40 addcld DABabA=a+Dba2Db2=1cdB=c+Ddc2Dd2=1c+Dd
77 26 33 subcld DABabA=a+Dba2Db2=1cdB=c+Ddc2Dd2=1aDb
78 36 40 subcld DABabA=a+Dba2Db2=1cdB=c+Ddc2Dd2=1cDd
79 75 76 77 78 mul4d DABabA=a+Dba2Db2=1cdB=c+Ddc2Dd2=1a+Dbc+DdaDbcDd=a+DbaDbc+DdcDd
80 subsq aDba2Db2=a+DbaDb
81 26 33 80 syl2anc DABabA=a+Dba2Db2=1cdB=c+Ddc2Dd2=1a2Db2=a+DbaDb
82 subsq cDdc2Dd2=c+DdcDd
83 36 40 82 syl2anc DABabA=a+Dba2Db2=1cdB=c+Ddc2Dd2=1c2Dd2=c+DdcDd
84 81 83 oveq12d DABabA=a+Dba2Db2=1cdB=c+Ddc2Dd2=1a2Db2c2Dd2=a+DbaDbc+DdcDd
85 29 32 sqmuld DABabA=a+Dba2Db2=1cdB=c+Ddc2Dd2=1Db2=D2b2
86 85 oveq2d DABabA=a+Dba2Db2=1cdB=c+Ddc2Dd2=1a2Db2=a2D2b2
87 29 39 sqmuld DABabA=a+Dba2Db2=1cdB=c+Ddc2Dd2=1Dd2=D2d2
88 87 oveq2d DABabA=a+Dba2Db2=1cdB=c+Ddc2Dd2=1c2Dd2=c2D2d2
89 86 88 oveq12d DABabA=a+Dba2Db2=1cdB=c+Ddc2Dd2=1a2Db2c2Dd2=a2D2b2c2D2d2
90 79 84 89 3eqtr2d DABabA=a+Dba2Db2=1cdB=c+Ddc2Dd2=1a+Dbc+DdaDbcDd=a2D2b2c2D2d2
91 58 oveq1d DABabA=a+Dba2Db2=1cdB=c+Ddc2Dd2=1D2b2=Db2
92 91 oveq2d DABabA=a+Dba2Db2=1cdB=c+Ddc2Dd2=1a2D2b2=a2Db2
93 58 oveq1d DABabA=a+Dba2Db2=1cdB=c+Ddc2Dd2=1D2d2=Dd2
94 93 oveq2d DABabA=a+Dba2Db2=1cdB=c+Ddc2Dd2=1c2D2d2=c2Dd2
95 92 94 oveq12d DABabA=a+Dba2Db2=1cdB=c+Ddc2Dd2=1a2D2b2c2D2d2=a2Db2c2Dd2
96 simprr DABabA=a+Dba2Db2=1a2Db2=1
97 96 ad2antrr DABabA=a+Dba2Db2=1cdB=c+Ddc2Dd2=1a2Db2=1
98 simprr DABabA=a+Dba2Db2=1cdB=c+Ddc2Dd2=1c2Dd2=1
99 97 98 oveq12d DABabA=a+Dba2Db2=1cdB=c+Ddc2Dd2=1a2Db2c2Dd2=11
100 1t1e1 11=1
101 100 a1i DABabA=a+Dba2Db2=1cdB=c+Ddc2Dd2=111=1
102 95 99 101 3eqtrd DABabA=a+Dba2Db2=1cdB=c+Ddc2Dd2=1a2D2b2c2D2d2=1
103 74 90 102 3eqtrd DABabA=a+Dba2Db2=1cdB=c+Ddc2Dd2=1ac+Ddb2Dad+cb2=1
104 oveq1 e=ac+Ddbe+Df=ac+Ddb+Df
105 104 eqeq2d e=ac+DdbAB=e+DfAB=ac+Ddb+Df
106 oveq1 e=ac+Ddbe2=ac+Ddb2
107 106 oveq1d e=ac+Ddbe2Df2=ac+Ddb2Df2
108 107 eqeq1d e=ac+Ddbe2Df2=1ac+Ddb2Df2=1
109 105 108 anbi12d e=ac+DdbAB=e+Dfe2Df2=1AB=ac+Ddb+Dfac+Ddb2Df2=1
110 oveq2 f=ad+cbDf=Dad+cb
111 110 oveq2d f=ad+cbac+Ddb+Df=ac+Ddb+Dad+cb
112 111 eqeq2d f=ad+cbAB=ac+Ddb+DfAB=ac+Ddb+Dad+cb
113 oveq1 f=ad+cbf2=ad+cb2
114 113 oveq2d f=ad+cbDf2=Dad+cb2
115 114 oveq2d f=ad+cbac+Ddb2Df2=ac+Ddb2Dad+cb2
116 115 eqeq1d f=ad+cbac+Ddb2Df2=1ac+Ddb2Dad+cb2=1
117 112 116 anbi12d f=ad+cbAB=ac+Ddb+Dfac+Ddb2Df2=1AB=ac+Ddb+Dad+cbac+Ddb2Dad+cb2=1
118 109 117 rspc2ev ac+Ddbad+cbAB=ac+Ddb+Dad+cbac+Ddb2Dad+cb2=1efAB=e+Dfe2Df2=1
119 16 19 55 103 118 syl112anc DABabA=a+Dba2Db2=1cdB=c+Ddc2Dd2=1efAB=e+Dfe2Df2=1
120 2 119 jca DABabA=a+Dba2Db2=1cdB=c+Ddc2Dd2=1ABefAB=e+Dfe2Df2=1
121 120 ex DABabA=a+Dba2Db2=1cdB=c+Ddc2Dd2=1ABefAB=e+Dfe2Df2=1
122 121 rexlimdvva DABabA=a+Dba2Db2=1cdB=c+Ddc2Dd2=1ABefAB=e+Dfe2Df2=1
123 122 ex DABabA=a+Dba2Db2=1cdB=c+Ddc2Dd2=1ABefAB=e+Dfe2Df2=1
124 123 rexlimdvva DABabA=a+Dba2Db2=1cdB=c+Ddc2Dd2=1ABefAB=e+Dfe2Df2=1
125 124 impd DABabA=a+Dba2Db2=1cdB=c+Ddc2Dd2=1ABefAB=e+Dfe2Df2=1
126 125 expimpd DABabA=a+Dba2Db2=1cdB=c+Ddc2Dd2=1ABefAB=e+Dfe2Df2=1
127 elpell1234qr DAPell1234QRDAabA=a+Dba2Db2=1
128 elpell1234qr DBPell1234QRDBcdB=c+Ddc2Dd2=1
129 127 128 anbi12d DAPell1234QRDBPell1234QRDAabA=a+Dba2Db2=1BcdB=c+Ddc2Dd2=1
130 an4 AabA=a+Dba2Db2=1BcdB=c+Ddc2Dd2=1ABabA=a+Dba2Db2=1cdB=c+Ddc2Dd2=1
131 129 130 bitrdi DAPell1234QRDBPell1234QRDABabA=a+Dba2Db2=1cdB=c+Ddc2Dd2=1
132 elpell1234qr DABPell1234QRDABefAB=e+Dfe2Df2=1
133 126 131 132 3imtr4d DAPell1234QRDBPell1234QRDABPell1234QRD
134 133 3impib DAPell1234QRDBPell1234QRDABPell1234QRD