(def-constant quadratic%bound%at%point
"lambda(f:[pp_0,pp_1], x:pp_0,
forsome(a:rr, 0<=a and forall(y:pp_0,dist_1(f(x),f(y))<=dist_0(x,y)*(a+dist_0(x,y)))))"
(theory metric-spaces-2-tuples))
(def-theorem quadratic-is-continuous
"forall(f:[pp_0,pp_1], x:pp_0, quadratic%bound%at%point(f,x) implies continuous%at%point(f,x))"
(proof
(
unfold-defined-constants
direct-and-antecedent-inference-strategy
(instantiate-existential ("min(1,eps/(1+a))"))
(weaken (0))
(unfold-single-defined-constant (0) min)
(case-split ("1<=eps/(1+a)"))
simplify
simplify
(apply-macete-with-minor-premises fractional-expression-manipulation)
simplify
(apply-macete-with-minor-premises transitivity-of-<=)
(instantiate-existential ("dist_0(x,y_$0)*(a+dist_0(x,y_$0))"))
(apply-macete-with-minor-premises transitivity-of-<=)
(instantiate-existential ("(eps/(1+a))*(a+1)"))
(apply-macete-with-minor-premises monotone-product-lemma)
(cut-with-single-formula "min(1,eps/(1+a))<=1 and min(1,eps/(1+a))<=eps/(1+a)")
simplify
(apply-macete-with-minor-premises minimum-2nd-arg)
(apply-macete-with-minor-premises minimum-1st-arg)
(apply-macete-with-minor-premises fractional-expression-manipulation)
simplify
))
(usages transportable-macete)
(theory metric-spaces-2-tuples))
(def-theory-ensemble-instances metric-spaces
force-under-quick-load
(target-theories metric-spaces h-o-real-arithmetic h-o-real-arithmetic)
(sorts (pp pp rr rr))
(constants (dist dist "lambda(x,y:rr, abs(x-y))" "lambda(x,y:rr, abs(x-y))"))
(permutations (1) (0 1) (1 2)))
(def-theory-ensemble-overloadings metric-spaces (1 2))
(def-theorem square-is-quadratic
"forall(x:rr,quadratic%bound%at%point(lambda(x:rr, x^2),x))"
(theory h-o-real-arithmetic)
(proof
(
unfold-defined-constants
direct-and-antecedent-inference-strategy
(instantiate-existential ("2*abs(x)"))
simplify
(force-substitution "x^2-y_$1^2" "(x-y_$1)*(x+y_$1)" (0))
(force-substitution "x+y_$1" "(x+x)+(y_$1-x)" (0))
(apply-macete-with-minor-premises absolute-value-product)
(apply-macete-with-minor-premises monotone-product-lemma)
direct-and-antecedent-inference-strategy
simplify
simplify
simplify
unfold-defined-constants
(weaken (0 1 2 3))
(prove-by-logic-and-simplification 3)
simplify
simplify
))
(theory h-o-real-arithmetic))
(def-theorem multiplication-by-a-constant-is-quadratic
"forall(a,x:rr,quadratic%bound%at%point(lambda(x:rr, a*x),x))"
(proof
(
unfold-defined-constants
direct-and-antecedent-inference-strategy
(instantiate-existential ("abs(a)"))
simplify
(force-substitution "a*x-a*y_$1" "a*(x-y_$1)" (0))
(apply-macete-with-minor-premises absolute-value-product)
simplify
simplify
))
(theory h-o-real-arithmetic))
(def-theorem square-is-continuous
"forall(x:rr, continuous%at%point(lambda(x:rr,x^2),x))"
(proof
(
(apply-macete-with-minor-premises tr%quadratic-is-continuous)
(apply-macete-with-minor-premises square-is-quadratic)
)
)
(theory h-o-real-arithmetic))
(def-theorem multiplication-by-a-constant-is-continuous
"forall(a,x:rr,continuous%at%point(lambda(x:rr, a*x),x))"
(proof
(
(apply-macete-with-minor-premises tr%quadratic-is-continuous)
(apply-macete-with-minor-premises multiplication-by-a-constant-is-quadratic)
))
(theory h-o-real-arithmetic))
(def-theorem composition-of-continuous-is-continuous
"forall(f:[pp,rr],g:[rr,rr],x:pp,
continuous%at%point(f,x) and continuous%at%point(g,f(x))
implies
continuous%at%point(g oo f,x))"
(proof
(
unfold-defined-constants
beta-reduce-with-minor-premises
direct-and-antecedent-inference-strategy
(auto-instantiate-universal-antecedent "with(g:[rr,rr],x:pp,f:[pp,rr],
forall(eps_$0:rr,
0<eps_$0
implies
forsome(delta_$0:rr,
0<delta_$0
and
forall(y_$0:rr,
abs(f(x)-y_$0)<=delta_$0
implies
abs(g(f(x))-g(y_$0))<=eps_$0))));")
(instantiate-universal-antecedent "with(f:[pp,rr],x:pp,
forall(eps:rr,
0<eps
implies
forsome(delta:rr,
0<delta
and
forall(y:pp,
dist(x,y)<=delta implies abs(f(x)-f(y))<=eps))));" ("delta_$0"))
(instantiate-existential ("delta"))
(backchain "with(eps_$0:rr,g:[rr,rr],delta_$0:rr,x:pp,f:[pp,rr],
forall(y_$0:rr,
abs(f(x)-y_$0)<=delta_$0
implies
abs(g(f(x))-g(y_$0))<=eps_$0));")
(backchain "with(delta_$0:rr,f:[pp,rr],delta:rr,x:pp,
forall(y:pp,
dist(x,y)<=delta implies abs(f(x)-f(y))<=delta_$0));")
(cut-with-single-formula "abs(f(x)-f(y_$0))<=delta_$0")
(instantiate-universal-antecedent "with(f:[pp,rr],x:pp,
forall(eps:rr,
0<eps
implies
forsome(delta:rr,
0<delta
and
forall(y:pp,
dist(x,y)<=delta implies abs(f(x)-f(y))<=eps))));" ("1"))
(simplify-antecedent "not(0<1);")
(cut-with-single-formula "abs(f(x)-f(x))<=1")
(backchain "with(f:[pp,rr],delta:rr,x:pp,
forall(y:pp,dist(x,y)<=delta implies abs(f(x)-f(y))<=1));")
simplify
))
(theory metric-spaces))
(def-theorem sum-of-continuous-is-continuous
"forall(f,g:[pp,rr], x:pp,
continuous%at%point(f,x) and continuous%at%point(g,x)
implies
continuous%at%point(lambda(x:pp,f(x)+g(x)),x))"
(proof
(
unfold-defined-constants
direct-and-antecedent-inference-strategy
(instantiate-universal-antecedent "with(p:prop, forall(eps:rr, 0<eps implies p))" ("eps_$0/2"))
(simplify-antecedent "with(p:prop, not(p))")
(instantiate-universal-antecedent "with(p:prop, forall(eps:rr, 0<eps implies p))" ("eps_$0/2"))
(simplify-antecedent "with(p:prop, not(p))")
(cut-with-single-formula "min(delta,delta_$0)<=delta and min(delta,delta_$0)<=delta_$0")
(instantiate-existential ("min(delta,delta_$0)"))
unfold-defined-constants
(raise-conditional (0))
direct-and-antecedent-inference-strategy
(apply-macete-with-minor-premises transitivity-of-<=)
(instantiate-existential ("abs(f(x)-f(y_$1))+abs(g(x)-g(y_$1))"))
(cut-with-single-formula "#(f(x)) and #(g(x)) and #(f(y_$1)) and #(g(y_$1))")
unfold-defined-constants
(weaken (1 2 3 4 5 6 7))
(prove-by-logic-and-simplification 3)
simplify
(instantiate-universal-antecedent "with(eps_$0:rr,f:[pp,rr],delta_$0:rr,x:pp,
forall(y:pp,
dist(x,y)<=delta_$0 implies abs(f(x)-f(y))<=eps_$0/2));" ("y_$1"))
(contrapose "with(p:prop, not(p))")
simplify
(instantiate-universal-antecedent "with(eps_$0:rr,g:[pp,rr],delta:rr,x:pp,
forall(y:pp,
dist(x,y)<=delta implies abs(g(x)-g(y))<=eps_$0/2));" ("y_$1"))
(contrapose "with(p:prop, not(p))")
simplify
simplify
(cut-with-single-formula "abs(f(x)-f(y_$1))<=eps_$0/2 and abs(g(x)-g(y_$1))<=eps_$0/2")
simplify
direct-inference
(backchain "with(eps_$0:rr,f:[pp,rr],delta_$0:rr,x:pp,
forall(y:pp,
dist(x,y)<=delta_$0 implies abs(f(x)-f(y))<=eps_$0/2));")
simplify
(backchain "with(eps_$0:rr,g:[pp,rr],delta:rr,x:pp,
forall(y:pp,
dist(x,y)<=delta implies abs(g(x)-g(y))<=eps_$0/2));")
simplify
(instantiate-universal-antecedent "with(eps_$0:rr,f:[pp,rr],delta_$0:rr,x:pp,
forall(y:pp,
dist(x,y)<=delta_$0 implies abs(f(x)-f(y))<=eps_$0/2));" ("y_$1"))
(instantiate-universal-antecedent "with(eps_$0:rr,g:[pp,rr],delta:rr,x:pp,
forall(y:pp,
dist(x,y)<=delta implies abs(g(x)-g(y))<=eps_$0/2));" ("y_$1"))
(apply-macete-with-minor-premises minimum-1st-arg)
(apply-macete-with-minor-premises minimum-2nd-arg)
)
)
(usages transportable-macete)
(theory metric-spaces))
(def-schematic-macete abstraction-for-sum
"with(a,b:rr, lambda(x:pp,a+b)=lambda(x:pp,lambda(x:pp,a)(x)+lambda(x:pp,b)(x)))"
(theory metric-spaces)
null)
(def-schematic-macete abstraction-for-square
"with(a:rr, lambda(x:pp,a^2)=lambda(x:rr,x^2) oo lambda(x:pp,a))"
(theory metric-spaces)
null)
(def-schematic-macete abstraction-for-scalar-product
"with(a,c:rr, lambda(x:pp,a * c)=lambda(x:rr,a * x) oo lambda(x:pp, c))"
(theory metric-spaces)
null)
(def-compound-macete abstraction
(sound
(series abstraction-for-sum
abstraction-for-scalar-product
abstraction-for-square)
beta-reduce-unstoppably
beta-reduce-unstoppably))
(def-compound-macete composite-continuity-macete
(series
(repeat
abstraction
sum-of-continuous-is-continuous
composition-of-continuous-is-continuous
square-is-continuous
multiplication-by-a-constant-is-continuous)
tr%unary-eta-reduction))
(def-theorem product-in-terms-of-squares-lemma
Remark: This entry is multiply defined. See: [1] [2]
"forall(a,b:rr, a*b=1/2*((a+b)^2+[-1]*(a^2+b^2)))"
(proof
(
simplify
))
(theory h-o-real-arithmetic))
(def-theorem continuous-at-point-defined
"forall(f:[pp_0,pp_1], x:pp_0, continuous%at%point(f,x) implies #(f(x)))"
(theory metric-spaces-2-tuples)
(usages transportable-macete)
(proof
(
(unfold-single-defined-constant (0) continuous%at%point)
direct-and-antecedent-inference-strategy
(instantiate-universal-antecedent "with(p:prop, forall(eps:rr, 0<eps implies p))" ("1"))
(simplify-antecedent "not(0<1);")
(cut-with-single-formula "dist_1(f(x),f(x))<=1")
(backchain "with(f:[pp_0,pp_1],delta:rr,x:pp_0,
forall(y:pp_0,
dist_0(x,y)<=delta implies dist_1(f(x),f(y))<=1));")
(apply-macete-with-minor-premises tr%zero-self-distance)
simplify
)
))
(def-theorem product-of-continous-is-continuous
"forall(f,g:[pp,rr], x:pp, continuous%at%point(f,x) and continuous%at%point(g,x) implies
continuous%at%point(lambda(x:pp, f(x)*g(x)),x))"
(theory metric-spaces)
(usages transportable-macete)
(proof
(
(apply-macete-with-minor-premises product-in-terms-of-squares-lemma)
direct-and-antecedent-inference-strategy
(cut-with-single-formula "#(f(x)) and #(g(x))")
(apply-macete-with-minor-premises composite-continuity-macete)
simplify
(apply-macete-with-minor-premises tr%continuous-at-point-defined)
simplify
)))
(def-theorem dist-uniformly-continuous
"forall(y:pp,uniformly%continuous(lambda(x:pp,dist(x,y))))"
(usages transportable-macete)
(proof
(
unfold-defined-constants
direct-and-antecedent-inference-strategy
auto-instantiate-existential
(cut-with-single-formula "abs(dist(x_$1,y)-dist(y_$1,y))<=dist(x_$1,y_$1)")
simplify
(apply-macete-with-minor-premises dist-continuity-lemma)
))
(theory metric-spaces))
(def-theorem constant-uniformly-continuous
"forall(r:rr,uniformly%continuous(lambda(x:pp,r)))"
(usages transportable-macete)
(theory metric-spaces)
(proof
(
unfold-defined-constants
direct-and-antecedent-inference-strategy
auto-instantiate-existential
(unfold-single-defined-constant (0) abs)
simplify
)))
(def-theorem constant-is-continuous
"forall(r:rr,x:pp, continuous%at%point(lambda(x:pp,r),x))"
(usages transportable-macete)
(theory metric-spaces)
(proof
(
unfold-defined-constants
direct-and-antecedent-inference-strategy
auto-instantiate-existential
(unfold-single-defined-constant (0) abs)
simplify
)))
(def-theorem identity-uniformly-continuous
"uniformly%continuous(lambda(x:pp,x))"
(usages transportable-macete)
(theory metric-spaces)
(proof
(
unfold-defined-constants
direct-and-antecedent-inference-strategy
auto-instantiate-existential
)))
(def-theorem composition-of-continuous-special-case
"forall(f:[pp,pp],g:[pp,rr],x:pp,
continuous%at%point(f,x) and continuous%at%point(g,f(x))
implies
continuous%at%point(g oo f,x))"
(proof
(
unfold-defined-constants
beta-reduce-with-minor-premises
direct-and-antecedent-inference-strategy
(auto-instantiate-universal-antecedent "with(p:prop,forall(eps:rr, 0<eps implies p))")
(instantiate-universal-antecedent "with(p:prop,forall(eps:rr, 0<eps implies p))" ("delta_$0"))
(instantiate-existential ("delta"))
(backchain "with(eps_$0:rr,g:[pp,rr],delta_$0:rr,x:pp,f:[pp,pp],
forall(y_$0:pp,
dist(f(x),y_$0)<=delta_$0
implies
abs(g(f(x))-g(y_$0))<=eps_$0));")
(backchain "with(delta_$0:rr,f:[pp,pp],delta:rr,x:pp,
forall(y:pp,
dist(x,y)<=delta implies dist(f(x),f(y))<=delta_$0));")
(cut-with-single-formula "dist(f(x),f(y_$0))<=delta_$0")
(instantiate-universal-antecedent "with(p:prop, forall(eps:rr, 0<eps implies p))" ("1"))
(simplify-antecedent "not(0<1);")
(cut-with-single-formula "dist(f(x),f(x))<=1")
(backchain "with(f:[pp,pp],delta:rr,x:pp,
forall(y:pp,dist(x,y)<=delta implies dist(f(x),f(y))<=1));")
simplify
))
(usages transportable-macete)
(theory metric-spaces))
(def-schematic-macete transportable-abstraction-for-sum
"with(a,b:rr, lambda(x:ind_1,a+b)=lambda(x:ind_1,lambda(x:ind_1,a)(x)+lambda(x:ind_1,b)(x)))"
(theory generic-theory-1)
transportable
null)
(def-schematic-macete transportable-abstraction-for-product
"with(a,c:rr, lambda(x:ind_1,a * c)=lambda(x:ind_1,lambda(x:ind_1,a)(x) * lambda(x:ind_1, c)(x)))"
(theory generic-theory-1)
transportable
null)
(def-compound-macete real-fn-abstraction
(sound
(series transportable-abstraction-for-sum
transportable-abstraction-for-product)
beta-reduce-unstoppably
beta-reduce-unstoppably))
(def-compound-macete polynomial-continuity-macete
(series
(repeat
(without-minor-premises exp-out)
real-fn-abstraction
tr%sum-of-continuous-is-continuous
tr%product-of-continous-is-continuous
tr%constant-is-continuous
beta-reduce)
tr%unary-eta-reduction))