(def-constant dudek "lambda(x:rr, if(x < 0, x+1, x >= 0 and x <= 4, (x-2)*(x-3) - 3, x > 4, -1, ?rr))" (theory h-o-real-arithmetic))
(def-theorem thm1 "forall(x:rr, x > 5 implies dudek(x) < 0)" (theory h-o-real-arithmetic) (proof ( (unfold-single-defined-constant-globally dudek) simplify )))
(def-theorem thm2a "forsome(x:rr, dudek(x) > 1)" (theory h-o-real-arithmetic) (proof ( (instantiate-existential ("[1/3]")) (unfold-single-defined-constant-globally dudek) simplify )))
(def-theorem thm2b "forall(x:rr, dudek(x) <=3)" (theory h-o-real-arithmetic) (proof ( (unfold-single-defined-constant-globally dudek) (raise-conditional (0)) (raise-conditional (0)) simplify direct-and-antecedent-inference-strategy (force-substitution "x^2<=5*x" "x^2+(-5)*x+0<=0" (0)) (block (script-comment "`force-substitution' at (0)") (apply-macete-with-minor-premises solve-quadratic-equation-or-inequality) (cut-with-single-formula "nth%root(2,25)=5") simplify (block (script-comment "`cut-with-single-formula' at (1)") (apply-macete-with-minor-premises iota-free-characterization-of-nth%root) simplify)) (block (script-comment "`force-substitution' at (1)") (weaken (1 0)) simplify) )))
(def-theorem thm3 "forall(x:rr, x > 1 implies dudek(x) >= -(3+[25/100]))" (theory h-o-real-arithmetic) (proof ( (unfold-single-defined-constant-globally dudek) (raise-conditional (0)) (raise-conditional (0)) simplify direct-and-antecedent-inference-strategy (force-substitution "5*x<=[25/4]+x^2" "0<=x^2 +(-5)*x + [25/4]" (0)) (block (script-comment "`force-substitution' at (0)") (apply-macete-with-minor-premises solve-quadratic-equation-or-inequality) simplify) (block (script-comment "`force-substitution' at (1)") (weaken (1 0)) simplify) )))