Metamath Proof Explorer


Theorem heron

Description: Heron's formula gives the area of a triangle given only the side lengths. If points A, B, C form a triangle, then the area of the triangle, represented here as ( 1 / 2 ) x. X x. Y x. abs ( sin O ) , is equal to the square root of S x. ( S - X ) x. ( S - Y ) x. ( S - Z ) , where S = ( X + Y + Z ) / 2 is half the perimeter of the triangle. Based on work by Jon Pennant. This is Metamath 100 proof #57. (Contributed by Mario Carneiro, 10-Mar-2019)

Ref Expression
Hypotheses heron.f F = x 0 , y 0 log y x
heron.x X = B C
heron.y Y = A C
heron.z Z = A B
heron.o O = B C F A C
heron.s S = X + Y + Z 2
heron.a φ A
heron.b φ B
heron.c φ C
heron.ac φ A C
heron.bc φ B C
Assertion heron φ 1 2 X Y sin O = S S X S Y S Z

Proof

Step Hyp Ref Expression
1 heron.f F = x 0 , y 0 log y x
2 heron.x X = B C
3 heron.y Y = A C
4 heron.z Z = A B
5 heron.o O = B C F A C
6 heron.s S = X + Y + Z 2
7 heron.a φ A
8 heron.b φ B
9 heron.c φ C
10 heron.ac φ A C
11 heron.bc φ B C
12 1red φ 1
13 12 rehalfcld φ 1 2
14 8 9 subcld φ B C
15 14 abscld φ B C
16 2 15 eqeltrid φ X
17 7 9 subcld φ A C
18 17 abscld φ A C
19 3 18 eqeltrid φ Y
20 16 19 remulcld φ X Y
21 13 20 remulcld φ 1 2 X Y
22 negpitopissre π π
23 8 9 11 subne0d φ B C 0
24 7 9 10 subne0d φ A C 0
25 1 14 23 17 24 angcld φ B C F A C π π
26 22 25 sselid φ B C F A C
27 26 recnd φ B C F A C
28 5 27 eqeltrid φ O
29 28 sincld φ sin O
30 29 abscld φ sin O
31 21 30 remulcld φ 1 2 X Y sin O
32 halfge0 0 1 2
33 32 a1i φ 0 1 2
34 14 absge0d φ 0 B C
35 34 2 breqtrrdi φ 0 X
36 17 absge0d φ 0 A C
37 36 3 breqtrrdi φ 0 Y
38 16 19 35 37 mulge0d φ 0 X Y
39 13 20 33 38 mulge0d φ 0 1 2 X Y
40 29 absge0d φ 0 sin O
41 21 30 39 40 mulge0d φ 0 1 2 X Y sin O
42 31 41 sqrtsqd φ 1 2 X Y sin O 2 = 1 2 X Y sin O
43 halfcn 1 2
44 43 a1i φ 1 2
45 16 recnd φ X
46 19 recnd φ Y
47 45 46 mulcld φ X Y
48 44 47 mulcld φ 1 2 X Y
49 30 recnd φ sin O
50 48 49 sqmuld φ 1 2 X Y sin O 2 = 1 2 X Y 2 sin O 2
51 2cnd φ 2
52 2ne0 2 0
53 52 a1i φ 2 0
54 47 51 53 sqdivd φ X Y 2 2 = X Y 2 2 2
55 47 51 53 divrec2d φ X Y 2 = 1 2 X Y
56 55 oveq1d φ X Y 2 2 = 1 2 X Y 2
57 sq2 2 2 = 4
58 57 a1i φ 2 2 = 4
59 58 oveq2d φ X Y 2 2 2 = X Y 2 4
60 54 56 59 3eqtr3d φ 1 2 X Y 2 = X Y 2 4
61 5 26 eqeltrid φ O
62 61 resincld φ sin O
63 absresq sin O sin O 2 = sin O 2
64 62 63 syl φ sin O 2 = sin O 2
65 60 64 oveq12d φ 1 2 X Y 2 sin O 2 = X Y 2 4 sin O 2
66 47 sqcld φ X Y 2
67 29 sqcld φ sin O 2
68 66 67 mulcld φ X Y 2 sin O 2
69 4cn 4
70 69 a1i φ 4
71 16 19 readdcld φ X + Y
72 7 8 subcld φ A B
73 72 abscld φ A B
74 4 73 eqeltrid φ Z
75 71 74 readdcld φ X + Y + Z
76 75 rehalfcld φ X + Y + Z 2
77 6 76 eqeltrid φ S
78 77 recnd φ S
79 78 45 subcld φ S X
80 78 79 mulcld φ S S X
81 78 46 subcld φ S Y
82 74 recnd φ Z
83 78 82 subcld φ S Z
84 81 83 mulcld φ S Y S Z
85 80 84 mulcld φ S S X S Y S Z
86 70 85 mulcld φ 4 S S X S Y S Z
87 4ne0 4 0
88 87 a1i φ 4 0
89 51 47 sqmuld φ 2 X Y 2 = 2 2 X Y 2
90 58 oveq1d φ 2 2 X Y 2 = 4 X Y 2
91 89 90 eqtr2d φ 4 X Y 2 = 2 X Y 2
92 91 oveq1d φ 4 X Y 2 sin O 2 = 2 X Y 2 sin O 2
93 70 66 67 mulassd φ 4 X Y 2 sin O 2 = 4 X Y 2 sin O 2
94 51 47 mulcld φ 2 X Y
95 94 sqcld φ 2 X Y 2
96 95 67 mulcld φ 2 X Y 2 sin O 2
97 46 82 mulcld φ Y Z
98 51 97 mulcld φ 2 Y Z
99 98 sqcld φ 2 Y Z 2
100 46 sqcld φ Y 2
101 82 sqcld φ Z 2
102 45 sqcld φ X 2
103 101 102 subcld φ Z 2 X 2
104 100 103 addcld φ Y 2 + Z 2 - X 2
105 104 sqcld φ Y 2 + Z 2 - X 2 2
106 99 105 subcld φ 2 Y Z 2 Y 2 + Z 2 - X 2 2
107 28 coscld φ cos O
108 107 sqcld φ cos O 2
109 95 108 mulcld φ 2 X Y 2 cos O 2
110 sincossq O sin O 2 + cos O 2 = 1
111 28 110 syl φ sin O 2 + cos O 2 = 1
112 111 oveq2d φ 2 X Y 2 sin O 2 + cos O 2 = 2 X Y 2 1
113 95 67 108 adddid φ 2 X Y 2 sin O 2 + cos O 2 = 2 X Y 2 sin O 2 + 2 X Y 2 cos O 2
114 100 2timesd φ 2 Y 2 = Y 2 + Y 2
115 100 103 100 ppncand φ Y 2 + Z 2 X 2 + Y 2 Z 2 X 2 = Y 2 + Y 2
116 114 115 eqtr4d φ 2 Y 2 = Y 2 + Z 2 X 2 + Y 2 Z 2 X 2
117 103 2timesd φ 2 Z 2 X 2 = Z 2 X 2 + Z 2 - X 2
118 100 103 103 pnncand φ Y 2 + Z 2 X 2 - Y 2 Z 2 X 2 = Z 2 X 2 + Z 2 - X 2
119 117 118 eqtr4d φ 2 Z 2 X 2 = Y 2 + Z 2 X 2 - Y 2 Z 2 X 2
120 116 119 oveq12d φ 2 Y 2 2 Z 2 X 2 = Y 2 + Z 2 X 2 + Y 2 Z 2 X 2 Y 2 + Z 2 X 2 - Y 2 Z 2 X 2
121 2t2e4 2 2 = 4
122 121 70 eqeltrid φ 2 2
123 122 100 103 mulassd φ 2 2 Y 2 Z 2 X 2 = 2 2 Y 2 Z 2 X 2
124 122 100 mulcld φ 2 2 Y 2
125 124 101 102 subdid φ 2 2 Y 2 Z 2 X 2 = 2 2 Y 2 Z 2 2 2 Y 2 X 2
126 51 sqvald φ 2 2 = 2 2
127 46 82 sqmuld φ Y Z 2 = Y 2 Z 2
128 126 127 oveq12d φ 2 2 Y Z 2 = 2 2 Y 2 Z 2
129 51 97 sqmuld φ 2 Y Z 2 = 2 2 Y Z 2
130 122 100 101 mulassd φ 2 2 Y 2 Z 2 = 2 2 Y 2 Z 2
131 128 129 130 3eqtr4d φ 2 Y Z 2 = 2 2 Y 2 Z 2
132 45 46 sqmuld φ X Y 2 = X 2 Y 2
133 102 100 mulcomd φ X 2 Y 2 = Y 2 X 2
134 132 133 eqtrd φ X Y 2 = Y 2 X 2
135 126 134 oveq12d φ 2 2 X Y 2 = 2 2 Y 2 X 2
136 122 100 102 mulassd φ 2 2 Y 2 X 2 = 2 2 Y 2 X 2
137 135 89 136 3eqtr4d φ 2 X Y 2 = 2 2 Y 2 X 2
138 131 137 oveq12d φ 2 Y Z 2 2 X Y 2 = 2 2 Y 2 Z 2 2 2 Y 2 X 2
139 125 138 eqtr4d φ 2 2 Y 2 Z 2 X 2 = 2 Y Z 2 2 X Y 2
140 51 51 100 103 mul4d φ 2 2 Y 2 Z 2 X 2 = 2 Y 2 2 Z 2 X 2
141 123 139 140 3eqtr3d φ 2 Y Z 2 2 X Y 2 = 2 Y 2 2 Z 2 X 2
142 100 103 subcld φ Y 2 Z 2 X 2
143 subsq Y 2 + Z 2 - X 2 Y 2 Z 2 X 2 Y 2 + Z 2 - X 2 2 Y 2 Z 2 X 2 2 = Y 2 + Z 2 X 2 + Y 2 Z 2 X 2 Y 2 + Z 2 X 2 - Y 2 Z 2 X 2
144 104 142 143 syl2anc φ Y 2 + Z 2 - X 2 2 Y 2 Z 2 X 2 2 = Y 2 + Z 2 X 2 + Y 2 Z 2 X 2 Y 2 + Z 2 X 2 - Y 2 Z 2 X 2
145 120 141 144 3eqtr4d φ 2 Y Z 2 2 X Y 2 = Y 2 + Z 2 - X 2 2 Y 2 Z 2 X 2 2
146 145 oveq2d φ 2 Y Z 2 2 Y Z 2 2 X Y 2 = 2 Y Z 2 Y 2 + Z 2 - X 2 2 Y 2 Z 2 X 2 2
147 99 95 nncand φ 2 Y Z 2 2 Y Z 2 2 X Y 2 = 2 X Y 2
148 142 sqcld φ Y 2 Z 2 X 2 2
149 99 105 148 subsubd φ 2 Y Z 2 Y 2 + Z 2 - X 2 2 Y 2 Z 2 X 2 2 = 2 Y Z 2 - Y 2 + Z 2 - X 2 2 + Y 2 Z 2 X 2 2
150 146 147 149 3eqtr3d φ 2 X Y 2 = 2 Y Z 2 - Y 2 + Z 2 - X 2 2 + Y 2 Z 2 X 2 2
151 95 mulid1d φ 2 X Y 2 1 = 2 X Y 2
152 102 100 addcld φ X 2 + Y 2
153 47 107 mulcld φ X Y cos O
154 51 153 mulcld φ 2 X Y cos O
155 152 154 nncand φ X 2 + Y 2 - X 2 + Y 2 - 2 X Y cos O = 2 X Y cos O
156 100 101 subcld φ Y 2 Z 2
157 156 102 addcomd φ Y 2 - Z 2 + X 2 = X 2 + Y 2 - Z 2
158 100 101 102 subsubd φ Y 2 Z 2 X 2 = Y 2 - Z 2 + X 2
159 102 100 101 addsubassd φ X 2 + Y 2 - Z 2 = X 2 + Y 2 - Z 2
160 157 158 159 3eqtr4d φ Y 2 Z 2 X 2 = X 2 + Y 2 - Z 2
161 1 2 3 4 5 lawcos A B C A C B C Z 2 = X 2 + Y 2 - 2 X Y cos O
162 7 8 9 10 11 161 syl32anc φ Z 2 = X 2 + Y 2 - 2 X Y cos O
163 162 oveq2d φ X 2 + Y 2 - Z 2 = X 2 + Y 2 - X 2 + Y 2 - 2 X Y cos O
164 160 163 eqtrd φ Y 2 Z 2 X 2 = X 2 + Y 2 - X 2 + Y 2 - 2 X Y cos O
165 51 47 107 mulassd φ 2 X Y cos O = 2 X Y cos O
166 155 164 165 3eqtr4d φ Y 2 Z 2 X 2 = 2 X Y cos O
167 166 oveq1d φ Y 2 Z 2 X 2 2 = 2 X Y cos O 2
168 94 107 sqmuld φ 2 X Y cos O 2 = 2 X Y 2 cos O 2
169 167 168 eqtr2d φ 2 X Y 2 cos O 2 = Y 2 Z 2 X 2 2
170 169 oveq2d φ 2 Y Z 2 - Y 2 + Z 2 - X 2 2 + 2 X Y 2 cos O 2 = 2 Y Z 2 - Y 2 + Z 2 - X 2 2 + Y 2 Z 2 X 2 2
171 150 151 170 3eqtr4d φ 2 X Y 2 1 = 2 Y Z 2 - Y 2 + Z 2 - X 2 2 + 2 X Y 2 cos O 2
172 112 113 171 3eqtr3d φ 2 X Y 2 sin O 2 + 2 X Y 2 cos O 2 = 2 Y Z 2 - Y 2 + Z 2 - X 2 2 + 2 X Y 2 cos O 2
173 96 106 109 172 addcan2ad φ 2 X Y 2 sin O 2 = 2 Y Z 2 Y 2 + Z 2 - X 2 2
174 subsq 2 Y Z Y 2 + Z 2 - X 2 2 Y Z 2 Y 2 + Z 2 - X 2 2 = 2 Y Z + Y 2 + Z 2 X 2 2 Y Z Y 2 + Z 2 - X 2
175 98 104 174 syl2anc φ 2 Y Z 2 Y 2 + Z 2 - X 2 2 = 2 Y Z + Y 2 + Z 2 X 2 2 Y Z Y 2 + Z 2 - X 2
176 100 101 addcld φ Y 2 + Z 2
177 98 176 102 addsubassd φ 2 Y Z + Y 2 + Z 2 - X 2 = 2 Y Z + Y 2 + Z 2 - X 2
178 100 101 102 addsubassd φ Y 2 + Z 2 - X 2 = Y 2 + Z 2 - X 2
179 178 oveq2d φ 2 Y Z + Y 2 + Z 2 - X 2 = 2 Y Z + Y 2 + Z 2 X 2
180 177 179 eqtr2d φ 2 Y Z + Y 2 + Z 2 X 2 = 2 Y Z + Y 2 + Z 2 - X 2
181 binom2 Y Z Y + Z 2 = Y 2 + 2 Y Z + Z 2
182 46 82 181 syl2anc φ Y + Z 2 = Y 2 + 2 Y Z + Z 2
183 100 98 101 add32d φ Y 2 + 2 Y Z + Z 2 = Y 2 + Z 2 + 2 Y Z
184 176 98 addcomd φ Y 2 + Z 2 + 2 Y Z = 2 Y Z + Y 2 + Z 2
185 182 183 184 3eqtrd φ Y + Z 2 = 2 Y Z + Y 2 + Z 2
186 185 oveq1d φ Y + Z 2 X 2 = 2 Y Z + Y 2 + Z 2 - X 2
187 46 82 addcld φ Y + Z
188 subsq Y + Z X Y + Z 2 X 2 = Y + Z + X Y + Z - X
189 187 45 188 syl2anc φ Y + Z 2 X 2 = Y + Z + X Y + Z - X
190 6 oveq2i 2 S = 2 X + Y + Z 2
191 75 recnd φ X + Y + Z
192 191 51 53 divcan2d φ 2 X + Y + Z 2 = X + Y + Z
193 190 192 eqtrid φ 2 S = X + Y + Z
194 45 46 82 addassd φ X + Y + Z = X + Y + Z
195 45 187 addcomd φ X + Y + Z = Y + Z + X
196 193 194 195 3eqtrd φ 2 S = Y + Z + X
197 51 78 45 subdid φ 2 S X = 2 S 2 X
198 193 194 eqtrd φ 2 S = X + Y + Z
199 45 2timesd φ 2 X = X + X
200 198 199 oveq12d φ 2 S 2 X = X + Y + Z - X + X
201 45 187 45 pnpcand φ X + Y + Z - X + X = Y + Z - X
202 197 200 201 3eqtrd φ 2 S X = Y + Z - X
203 196 202 oveq12d φ 2 S 2 S X = Y + Z + X Y + Z - X
204 189 203 eqtr4d φ Y + Z 2 X 2 = 2 S 2 S X
205 51 78 51 79 mul4d φ 2 S 2 S X = 2 2 S S X
206 121 a1i φ 2 2 = 4
207 206 oveq1d φ 2 2 S S X = 4 S S X
208 204 205 207 3eqtrd φ Y + Z 2 X 2 = 4 S S X
209 180 186 208 3eqtr2d φ 2 Y Z + Y 2 + Z 2 X 2 = 4 S S X
210 98 176 subcld φ 2 Y Z Y 2 + Z 2
211 210 102 addcomd φ 2 Y Z - Y 2 + Z 2 + X 2 = X 2 + 2 Y Z - Y 2 + Z 2
212 178 oveq2d φ 2 Y Z Y 2 + Z 2 - X 2 = 2 Y Z Y 2 + Z 2 - X 2
213 98 176 102 subsubd φ 2 Y Z Y 2 + Z 2 - X 2 = 2 Y Z - Y 2 + Z 2 + X 2
214 212 213 eqtr3d φ 2 Y Z Y 2 + Z 2 - X 2 = 2 Y Z - Y 2 + Z 2 + X 2
215 102 176 98 subsub2d φ X 2 Y 2 + Z 2 - 2 Y Z = X 2 + 2 Y Z - Y 2 + Z 2
216 211 214 215 3eqtr4d φ 2 Y Z Y 2 + Z 2 - X 2 = X 2 Y 2 + Z 2 - 2 Y Z
217 100 101 98 addsubassd φ Y 2 + Z 2 - 2 Y Z = Y 2 + Z 2 - 2 Y Z
218 101 98 subcld φ Z 2 2 Y Z
219 100 218 addcomd φ Y 2 + Z 2 - 2 Y Z = Z 2 - 2 Y Z + Y 2
220 46 82 mulcomd φ Y Z = Z Y
221 220 oveq2d φ 2 Y Z = 2 Z Y
222 221 oveq2d φ Z 2 2 Y Z = Z 2 2 Z Y
223 222 oveq1d φ Z 2 - 2 Y Z + Y 2 = Z 2 - 2 Z Y + Y 2
224 217 219 223 3eqtrd φ Y 2 + Z 2 - 2 Y Z = Z 2 - 2 Z Y + Y 2
225 binom2sub Z Y Z Y 2 = Z 2 - 2 Z Y + Y 2
226 82 46 225 syl2anc φ Z Y 2 = Z 2 - 2 Z Y + Y 2
227 224 226 eqtr4d φ Y 2 + Z 2 - 2 Y Z = Z Y 2
228 227 oveq2d φ X 2 Y 2 + Z 2 - 2 Y Z = X 2 Z Y 2
229 82 46 subcld φ Z Y
230 subsq X Z Y X 2 Z Y 2 = X + Z - Y X Z Y
231 45 229 230 syl2anc φ X 2 Z Y 2 = X + Z - Y X Z Y
232 51 78 46 subdid φ 2 S Y = 2 S 2 Y
233 45 46 82 add32d φ X + Y + Z = X + Z + Y
234 193 233 eqtrd φ 2 S = X + Z + Y
235 46 2timesd φ 2 Y = Y + Y
236 234 235 oveq12d φ 2 S 2 Y = X + Z + Y - Y + Y
237 45 82 addcld φ X + Z
238 237 46 46 pnpcan2d φ X + Z + Y - Y + Y = X + Z - Y
239 45 82 46 238 assraddsubd φ X + Z + Y - Y + Y = X + Z - Y
240 232 236 239 3eqtrd φ 2 S Y = X + Z - Y
241 51 78 82 subdid φ 2 S Z = 2 S 2 Z
242 82 2timesd φ 2 Z = Z + Z
243 193 242 oveq12d φ 2 S 2 Z = X + Y + Z - Z + Z
244 45 46 addcld φ X + Y
245 244 82 82 pnpcan2d φ X + Y + Z - Z + Z = X + Y - Z
246 45 82 46 subsub3d φ X Z Y = X + Y - Z
247 245 246 eqtr4d φ X + Y + Z - Z + Z = X Z Y
248 241 243 247 3eqtrd φ 2 S Z = X Z Y
249 240 248 oveq12d φ 2 S Y 2 S Z = X + Z - Y X Z Y
250 231 249 eqtr4d φ X 2 Z Y 2 = 2 S Y 2 S Z
251 51 81 51 83 mul4d φ 2 S Y 2 S Z = 2 2 S Y S Z
252 206 oveq1d φ 2 2 S Y S Z = 4 S Y S Z
253 250 251 252 3eqtrd φ X 2 Z Y 2 = 4 S Y S Z
254 216 228 253 3eqtrd φ 2 Y Z Y 2 + Z 2 - X 2 = 4 S Y S Z
255 209 254 oveq12d φ 2 Y Z + Y 2 + Z 2 X 2 2 Y Z Y 2 + Z 2 - X 2 = 4 S S X 4 S Y S Z
256 173 175 255 3eqtrd φ 2 X Y 2 sin O 2 = 4 S S X 4 S Y S Z
257 70 84 mulcld φ 4 S Y S Z
258 70 80 257 mulassd φ 4 S S X 4 S Y S Z = 4 S S X 4 S Y S Z
259 80 70 84 mul12d φ S S X 4 S Y S Z = 4 S S X S Y S Z
260 259 oveq2d φ 4 S S X 4 S Y S Z = 4 4 S S X S Y S Z
261 256 258 260 3eqtrd φ 2 X Y 2 sin O 2 = 4 4 S S X S Y S Z
262 92 93 261 3eqtr3d φ 4 X Y 2 sin O 2 = 4 4 S S X S Y S Z
263 68 86 70 88 262 mulcanad φ X Y 2 sin O 2 = 4 S S X S Y S Z
264 263 oveq1d φ X Y 2 sin O 2 4 = 4 S S X S Y S Z 4
265 66 67 70 88 div23d φ X Y 2 sin O 2 4 = X Y 2 4 sin O 2
266 77 16 resubcld φ S X
267 77 266 remulcld φ S S X
268 77 19 resubcld φ S Y
269 77 74 resubcld φ S Z
270 268 269 remulcld φ S Y S Z
271 267 270 remulcld φ S S X S Y S Z
272 271 recnd φ S S X S Y S Z
273 272 70 88 divcan3d φ 4 S S X S Y S Z 4 = S S X S Y S Z
274 264 265 273 3eqtr3d φ X Y 2 4 sin O 2 = S S X S Y S Z
275 50 65 274 3eqtrd φ 1 2 X Y sin O 2 = S S X S Y S Z
276 275 fveq2d φ 1 2 X Y sin O 2 = S S X S Y S Z
277 42 276 eqtr3d φ 1 2 X Y sin O = S S X S Y S Z