(def-theorem positivity-of-rr-distance "forall(x,y:rr,0<=lambda(x,y:rr,abs(x-y))(x,y))" (theory h-o-real-arithmetic) (proof (simplify)))
(def-theorem point-separation-for-rr-distance "forall(x,y:rr,x=y iff lambda(x,y:rr,abs(x-y))(x,y)=0)" (theory h-o-real-arithmetic) (proof ( beta-reduce-repeatedly (apply-macete-with-minor-premises absolute-value-zero) simplify )))
(def-theorem symmetry-of-rr-distance "forall(x,y:rr, lambda(x,y:rr,abs(x-y))(x,y)= lambda(x,y:rr,abs(x-y))(y,x))" (proof ( beta-reduce-repeatedly (force-substitution "y-x" "[-1]*(x-y)" (0)) (apply-macete-with-minor-premises absolute-value-product) (unfold-single-defined-constant (1) abs) simplify simplify )) (theory h-o-real-arithmetic))
(def-theorem triangle-inequality-for-rr-distance "forall(x,y,z:rr, lambda(x,y:rr,abs(x-y))(x,z)<= lambda(x,y:rr,abs(x-y))(x,y)+lambda(x,y:rr,abs(x-y))(y,z))" (proof ( beta-reduce-repeatedly (force-substitution "(x-z)" "(x-y)+(y-z)" (0)) (apply-macete-with-minor-premises triangle-inequality) simplify )) (theory h-o-real-arithmetic))
(def-theorem sub-is-diff "sub=lambda(x,y:rr,-y+x)" (theory h-o-real-arithmetic) (proof ( (prove-by-logic-and-simplification 3) )))