(def-theorem nn-addition-rewrite "forall(x,y:zz, #(x+y,nn) iff 0<=x+y)" (theory h-o-real-arithmetic) (usages rewrite) (proof (direct-and-antecedent-inference-strategy (apply-macete-with-minor-premises nn-in-quasi-sort_h-o-real-arithmetic) (apply-macete-with-minor-premises nn-defining-axiom_h-o-real-arithmetic) simplify)))
(def-theorem () "forall(x,y:nn,#(x+y,nn ))" (theory h-o-real-arithmetic) (proof ( (apply-macete-with-minor-premises nn-defining-axiom_h-o-real-arithmetic) simplify )) (usages d-r-convergence))
(def-theorem () "forall(x,y:nn, #(x*y,nn ))" (theory h-o-real-arithmetic) (proof ( (apply-macete-with-minor-premises nn-defining-axiom_h-o-real-arithmetic) simplify (apply-macete-with-minor-premises positivity-for-products) simplify )) (usages d-r-convergence))
(def-theorem () "forall(x,y:ind,#(x,nn) and #(y,nn) and y<=x implies #(x-y,nn ))" (theory h-o-real-arithmetic) (proof ( (apply-macete-with-minor-premises nn-defining-axiom_h-o-real-arithmetic) simplify )) (usages d-r-convergence))
(def-theorem () "forall(x,y:ind,#(x,nn) and #(y,nn) and 1<=y implies #(x^y,nn ))" (theory h-o-real-arithmetic) (proof ( (cut-with-single-formula "forall(x,y:zz,1<=y and 0<=x implies #(x^y,zz) and 0<=x^y)") direct-and-antecedent-inference-strategy (apply-macete-with-minor-premises nn-defining-axiom_h-o-real-arithmetic) (instantiate-universal-antecedent "forall(x,y:zz,1<=y and 0<=x implies #(x^y,zz) and 0<=x^y);" ("x" "y")) (contrapose "with(x:ind,not(0<=x));") simplify beta-reduce-repeatedly (induction integer-inductor ("y")) (force-substitution "x^(1+t)" "x^t*x" (0 1)) direct-inference simplify (apply-macete-with-minor-premises positivity-for-products) direct-and-antecedent-inference-strategy simplify )) (usages d-r-convergence))
(def-theorem () "forall(j:zz, 0<=j implies #(j,nn))" (theory h-o-real-arithmetic) (proof ( (apply-macete-with-minor-premises nn-defining-axiom_h-o-real-arithmetic) simplify )) (usages d-r-convergence))
(def-theorem () "forall(x:rr, 0<=x and #(x,zz) implies #(x,nn))" (theory h-o-real-arithmetic) (proof ( direct-and-antecedent-inference-strategy (apply-macete-with-minor-premises nn-defining-axiom_h-o-real-arithmetic) beta-reduce-repeatedly )) (usages d-r-convergence))
(def-theorem () "forall(n:nn,#(n+[-1],nn) iff 0<n)" (theory h-o-real-arithmetic) (proof ( (apply-macete-with-minor-premises nn-defining-axiom_h-o-real-arithmetic) simplify direct-and-antecedent-inference-strategy simplify simplify )) (usages rewrite))
(def-theorem () "forall(x:rr, #(abs(x)))" (theory h-o-real-arithmetic) (proof ( (unfold-single-defined-constant (0) abs) insistent-direct-inference beta-reduce-repeatedly )) (usages d-r-convergence))
(def-theorem () "forall(x,y:rr, #(max(x,y)))" (theory h-o-real-arithmetic) (proof ( unfold-defined-constants insistent-direct-inference beta-reduce-repeatedly )) (usages d-r-convergence))
(def-theorem positivity-for-squares "forall(x:rr, 0<=x^2)" (theory h-o-real-arithmetic) (proof ( direct-and-antecedent-inference-strategy (force-substitution "x^2" "x*x" (0)) (cut-with-single-formula "0<=x or 0<=[-1]*x") (antecedent-inference "with(x:rr,0<=x or 0<=[-1]*x);") (apply-macete-with-minor-premises positivity-for-products) (force-substitution "x*x" "([-1]*x)*([-1]*x)" (0)) (apply-macete-with-minor-premises positivity-for-products) simplify simplify simplify )))
(def-theorem triangle-inequality "forall(x,y:rr,abs(x+y)<=abs(x)+abs(y))" (theory h-o-real-arithmetic) (proof ( unfold-defined-constants (prove-by-logic-and-simplification 3) )))
(def-theorem non-negativity-of-absolute-value "forall(x:rr,0<=abs(x))" (theory h-o-real-arithmetic) (proof ( unfold-defined-constants (prove-by-logic-and-simplification 3) )))
(def-theorem min-definedness "forall(x,y:rr,#(min(x,y)))" (theory h-o-real-arithmetic) (proof ( unfold-defined-constants insistent-direct-inference beta-reduce-repeatedly )) (usages d-r-convergence))
(def-theorem maximum-1st-arg "forall(x,y:rr,x<=max(x,y))" (theory h-o-real-arithmetic) (proof ( unfold-defined-constants (prove-by-logic-and-simplification 3) ) ))
(def-theorem maximum-2nd-arg "forall(x,y:rr,y<=max(x,y))" (theory h-o-real-arithmetic) (proof ( unfold-defined-constants (prove-by-logic-and-simplification 3) ) ))
(def-theorem minimum-1st-arg "forall(x,y:rr,min(x,y)<=x)" (theory h-o-real-arithmetic) (proof ( unfold-defined-constants (prove-by-logic-and-simplification 3) ) ))
(def-theorem minimum-2nd-arg "forall(x,y:rr,min(x,y)<=y)" (theory h-o-real-arithmetic) (proof ( unfold-defined-constants (prove-by-logic-and-simplification 3) ) ))
(def-theorem min-lemma "forall(a,b,c:rr, a<b and a<c implies forsome(d:rr, a<d and d<=b and d<=c))" (theory h-o-real-arithmetic) (proof ( direct-and-antecedent-inference-strategy (instantiate-existential ("min(b,c)")) (unfold-single-defined-constant-globally min) (case-split ("b<=c")) simplify simplify (apply-macete-with-minor-premises minimum-1st-arg) (apply-macete-with-minor-premises minimum-2nd-arg) )))
(def-theorem max-lemma "forall(a,b,c:rr, b<a and c<a implies forsome(d:rr, d<a and b<=d and c<=d))" (theory h-o-real-arithmetic) (proof ( direct-and-antecedent-inference-strategy (instantiate-existential ("max(b,c)")) (unfold-single-defined-constant-globally max) (case-split ("b<=c")) simplify simplify (apply-macete-with-minor-premises maximum-1st-arg) (apply-macete-with-minor-premises maximum-2nd-arg) )))