```(def-theory-ensemble-instances
metric-spaces
(permutations (0 1))
(sorts (pp pp pp))
(constants (dist dist dist))
(target-theories metric-spaces metric-spaces))
```

```(def-theory-ensemble-instances
metric-spaces
(permutations (0))
(sorts (pp bfun))
(constants (dist bfun%dist))
(target-theories mappings-into-a-pointed-metric-space)
(special-renamings
(ball bfun%ball)
(complete bfun%complete)
(lipschitz%bound%on bfun%lipschitz%bound%on)
(lipschitz%bound bfun%lipschitz%bound)))
```

```(def-theory-ensemble-overloadings metric-spaces (1 2))
```

```
(def-theorem bfun-values-defined-lemma
"forall(x:ind_1,g:bfun, #(g(x)))"
(usages rewrite transportable-macete)
(proof
(
(instantiate-theorem bfun-defining-axiom_mappings-into-a-pointed-metric-space ("g"))
simplify
simplify
)
)
(theory mappings-into-a-pointed-metric-space))
```

```
(def-theorem bfun-ball-membership-lemma
"forall(f:[ind_1,pp],g:bfun, r:rr, f in ball(g,r) iff forall(x:ind_1, f(x) in ball(g(x),r)))"

(proof
(
direct-inference
(force-substitution "f in ball(g,r) " "forsome(h:bfun, h=f and h in ball(g,r))" (0))
(apply-macete-with-minor-premises ball-membership-condition)
(apply-macete-with-minor-premises tr%ball-membership-condition)
(force-substitution "bfun%dist(g,h)<=r" "forall(x:ind_1,dist(g(x),h(x))<=r)" (0))
direct-and-antecedent-inference-strategy
(backchain-backwards "with(f:[ind_1,pp],h:bfun,h=f);")
simplify
(instantiate-existential ("f"))
(apply-macete-with-minor-premises bfun-defining-axiom_mappings-into-a-pointed-metric-space)
insistent-direct-inference
insistent-direct-inference
(apply-macete-with-minor-premises tr%prec%sup-defined)
direct-and-antecedent-inference-strategy
(weaken (1))
(apply-macete-with-minor-premises tr%non-empty-range)
(instantiate-existential ("x"))
simplify
(weaken (0 1))
(apply-macete-with-minor-premises tr%prec%majorizes%characterization)
beta-reduce-repeatedly
(apply-macete-with-minor-premises triangle-inequality-alternate-form)
(instantiate-existential ("g(n_\$0)"))
simplify
(apply-macete-with-minor-premises tr%minorizes-property-of-prec%sup)
direct-and-antecedent-inference-strategy
(instantiate-existential ("dist(g(n_\$0),a_0)"))
simplify
(instantiate-existential ("n_\$0"))
simplify
simplify
(weaken (0 1 2 3))
(cut-with-single-formula "#(g,bfun)")
(incorporate-antecedent "with(g:bfun,#(g,bfun));")
(apply-macete-with-minor-premises bfun-defining-axiom_mappings-into-a-pointed-metric-space)
direct-and-antecedent-inference-strategy
(weaken (0 1))
(weaken (0))
(weaken (0))
direct-and-antecedent-inference-strategy
(cut-with-single-formula "dist(g(x),h(x))<=bfun%dist(g,h)")
simplify
(apply-macete-with-minor-premises bounded-bfun%dist)
(unfold-single-defined-constant (0) bfun%dist)
(apply-macete-with-minor-premises tr%lub-property-of-prec%sup)
direct-and-antecedent-inference-strategy
(apply-macete-with-minor-premises tr%prec%majorizes%characterization)
beta-reduce-repeatedly
direct-and-antecedent-inference-strategy
simplify
(apply-macete-with-minor-premises tr%prec%sup-defined)
direct-and-antecedent-inference-strategy
(apply-macete-with-minor-premises tr%non-empty-range)
beta-reduce-repeatedly
(instantiate-existential ("x"))
(apply-macete-with-minor-premises tr%prec%majorizes%characterization)
beta-reduce-repeatedly
(instantiate-existential ("r"))
direct-and-antecedent-inference-strategy
(instantiate-existential ("f"))
(backchain-backwards "with(f:[ind_1,pp],h:bfun,h=f);")
)
)
(theory mappings-into-a-pointed-metric-space))
```

```
(def-theorem bfun-ball-closure
"forall(f:bfun,r:rr, s:[zz,bfun],0<r and
forall(n:zz, #(s(n)) implies s(n) in ball(f,r)) and
forall(x:ind_1, #(lim(lambda(n:zz, s(n)(x)))))
implies
lambda(x:ind_1, lim(lambda(n:zz, s(n)(x)))) in ball(f,r))"
(proof
(
(apply-macete-with-minor-premises bfun-ball-membership-lemma)
beta-reduce-repeatedly
direct-and-antecedent-inference-strategy
(apply-macete-with-minor-premises closed-balls-are-closed)
direct-and-antecedent-inference-strategy
simplify-insistently
direct-and-antecedent-inference-strategy
(backchain "with(x:ind_1,x_\$1:zz,s:[zz,bfun],x_\$0:pp,x_\$0=s(x_\$1)(x));")
(backchain "with(r:rr,f:bfun,s:[zz,bfun],
forall(n:zz,
#(s(n)) implies
forall(x:ind_1,s(n)(x) in ball(f(x),r))));")
(instantiate-theorem bfun-defining-axiom_mappings-into-a-pointed-metric-space ("f"))
simplify
simplify
)
)
(theory mappings-into-a-pointed-metric-space))
```

```
(def-theorem bfun-ball-closure-corollary
"forall(f:bfun,r:rr, s:[zz,bfun],0<r and
forsome(m:zz, forall(n:zz, m<=n implies s(n) in ball(f,r))) and
forall(x:ind_1, #(lim(lambda(n:zz, s(n)(x)))))
implies
lambda(x:ind_1, lim(lambda(n:zz, s(n)(x)))) in ball(f,r))"
(proof
(
direct-and-antecedent-inference-strategy
(force-substitution "lim(lambda(n:zz,s(n)(x)))" "lim(lambda(n:zz,lambda(k:zz, if(m<=k,s(k),?bfun))(n)(x)))" (0))
(apply-macete-with-minor-premises bfun-ball-closure)
beta-reduce-repeatedly
direct-and-antecedent-inference-strategy
simplify
(cut-with-single-formula "lim(lambda(n:zz,if(m<=n, s(n), ?bfun)(x)))=lim(lambda(n:zz,s(n)(x)))")
(weaken (0))
(apply-macete-with-minor-premises limit-depends-on-tail)
direct-and-antecedent-inference-strategy
(instantiate-existential ("m"))
simplify
(weaken (3))
(cut-with-single-formula "total_q{s(p_\$1),[ind_1,pp]}")
(instantiate-universal-antecedent "with(s:[zz,bfun],r:rr,f:bfun,m:zz,forall(n:zz,m<=n implies s(n) in ball(f,r)));" ("p_\$1"))
(weaken ( 1 2))
(instantiate-theorem bfun-defining-axiom_mappings-into-a-pointed-metric-space ("s(p_\$1)"))
beta-reduce-repeatedly
)
)

(theory mappings-into-a-pointed-metric-space))
```

```
(def-theorem uniform-cauchy-implies-ptwise-cauchy
"forall(s:[zz,bfun], cauchy(s) implies forall(x:ind_1, cauchy(lambda(n:zz, s(n)(x)))))"
(proof
(
unfold-defined-constants
direct-and-antecedent-inference-strategy
(auto-instantiate-universal-antecedent "with(s:[zz,bfun],
forall(eps:rr,
0<eps
implies
forsome(p:zz,
forall(q:zz,p<q implies bfun%dist(s(p),s(q))<=eps))));")
(instantiate-existential ("p"))
(apply-macete-with-minor-premises transitivity-of-<=)
(instantiate-existential ("bfun%dist(s(p),s(q_\$0))"))
(apply-macete-with-minor-premises bounded-bfun%dist)
(instantiate-universal-antecedent "with(eps_\$0:rr,s:[zz,bfun],p:zz,
forall(q:zz,p<q implies bfun%dist(s(p),s(q))<=eps_\$0));" ("q_\$0"))
(instantiate-universal-antecedent "with(eps_\$0:rr,s:[zz,bfun],p:zz,
forall(q:zz,p<q implies bfun%dist(s(p),s(q))<=eps_\$0));" ("q_\$0"))
(backchain "with(eps_\$0:rr,s:[zz,bfun],p:zz,
forall(q:zz,p<q implies bfun%dist(s(p),s(q))<=eps_\$0));")
direct-inference
direct-inference
)
)
(theory mappings-into-a-pointed-metric-space))
```

```
(def-theorem cauchy-ptwise-converge-implies-uniform-convergence
"forall(s:[zz,bfun],cauchy(s) and forall(x:ind_1, #(lim(lambda(n:zz, s(n)(x)))))
implies
lim(s)=lambda(x:ind_1,(lim(lambda(n:zz, s(n)(x))))))"
(proof
(
(apply-macete-with-minor-premises tr%cauchy-double-index-characterization)
(force-substitution "bfun%dist(s(p),s(q))<=eps" "s(q) in ball(s(p),eps)" (0))
(block
(script-comment "node added by `force-substitution' at (0)")
direct-and-antecedent-inference-strategy
(cut-with-single-formula "forsome(h:bfun, h = lambda(x:ind_1,lim(lambda(n:zz,s(n)(x)))))")
(block
(script-comment "node added by `cut-with-single-formula' at (0)")
(antecedent-inference "with(p:prop,forsome(h:bfun,p));")
(backchain-backwards "with(f:[ind_1,pp],h:bfun,h=f);")
(apply-macete-with-minor-premises tr%characterization-of-limit)
(force-substitution
"bfun%dist(h,s(p))<=eps"
"h in ball(s(p),eps)"
(0))
(block
(script-comment "node added by `force-substitution' at (0)")
direct-and-antecedent-inference-strategy
(auto-instantiate-universal-antecedent "with(p:prop,  forall(eps:rr, 0<eps implies p))")
(instantiate-existential ("n"))
(backchain "with(f:[ind_1,pp],h:bfun,h=f);")
(apply-macete-with-minor-premises bfun-ball-closure-corollary)
(block
(script-comment "node added by `apply-macete-with-minor-premises' at (0)")
direct-and-antecedent-inference-strategy
(instantiate-existential ("n"))
(backchain "with(p:prop,forall(p,q:zz,with(p:prop,p)));")
simplify)
(instantiate-universal-antecedent "with(p:prop,forall(p,q:zz,with(p:prop,p)));"
("p" "p")))
(block
(script-comment "node added by `force-substitution' at (1)")
(apply-macete-with-minor-premises tr%ball-membership-condition)
direct-inference
(apply-macete-with-minor-premises tr%symmetry-of-distance)))
(block
(script-comment "node added by `cut-with-single-formula' at (1)")
(instantiate-universal-antecedent "with(p:prop,forall(eps:rr,p));"
("1"))
(simplify-antecedent "with(p:prop,not(p));")
(block
(script-comment "node added by `instantiate-universal-antecedent' at (0 0 1 0)")
(cut-with-single-formula "lambda(x:ind_1,lim(lambda(n:zz,s(n)(x)))) in ball(s(n),1)")
(block
(script-comment "node added by `cut-with-single-formula' at (0)")
(cut-with-single-formula "#(lambda(x:ind_1,lim(lambda(n:zz,s(n)(x)))),bfun)")
(instantiate-existential ("lambda(x:ind_1,lim(lambda(n:zz,s(n)(x))))")))
(block
(script-comment "node added by `cut-with-single-formula' at (1)")
(apply-macete-with-minor-premises bfun-ball-membership-lemma)
direct-and-antecedent-inference-strategy
beta-reduce-repeatedly
(force-substitution "lim(lambda(n:zz,s(n)(x)))"
"lim(lambda(k:zz,if(n<=k,s(k)(x),?pp)))"
(0))
(block
(script-comment "node added by `force-substitution' at (0)")
(apply-macete-with-minor-premises closed-balls-are-closed)
(block
(script-comment "node added by `apply-macete-with-minor-premises' at (0)")
direct-and-antecedent-inference-strategy
(block
(script-comment "node added by `direct-and-antecedent-inference-strategy' at (0)")
simplify-insistently
direct-and-antecedent-inference-strategy
(cut-with-single-formula "forall(p,q:zz,n<=p and n<=q implies s(q)(x) in ball(s(p)(x),1))")
(block
(script-comment "node added by `cut-with-single-formula' at (0)")
(force-substitution "x_\$0"

"s(x_\$1)(x)"

(0))
(backchain "with(f:sets[pp],
forall(p,q:zz,
with(p:pp,p:prop,
with(p:prop,p and p) implies with(p:pp,p in f))));")
simplify)
(block
(script-comment "node added by `cut-with-single-formula' at (1)")
(weaken (3 1 0))
(incorporate-antecedent "with(p:prop,p);")
(apply-macete-with-minor-premises tr%ball-membership-condition)
direct-and-antecedent-inference-strategy
(apply-macete-with-minor-premises transitivity-of-<=)
(block
(script-comment "node added by `apply-macete-with-minor-premises' at (0)")
(instantiate-existential ("bfun%dist(s(p),s(q))"))
(block
(script-comment "node added by `instantiate-existential' at (0 0)")

(apply-macete-with-minor-premises bounded-bfun%dist)

(instantiate-universal-antecedent "with(p:prop,forall(p,q:zz,with(p:prop,p)));"
("p" "q"))

(instantiate-universal-antecedent "with(p:prop,forall(p,q:zz,with(p:prop,p)));"
("p" "q")))
simplify
direct-and-antecedent-inference-strategy)
(apply-macete-with-minor-premises bfun-values-defined-lemma)))
(block
(script-comment "node added by `direct-and-antecedent-inference-strategy' at (1)")
(force-substitution "#(lim(lambda(k:zz,if(n<=k, s(k)(x), ?pp))))"

"lim(lambda(k:zz,if(n<=k, s(k)(x), ?pp)))=lim(lambda(n:zz,s(n)(x)))"

(0))
(block
(script-comment "node added by `force-substitution' at (0)")
(weaken ("with(a,b:sets[pp], a subseteq b)"))
(apply-macete-with-minor-premises limit-depends-on-tail)
beta-reduce-repeatedly
direct-and-antecedent-inference-strategy
(instantiate-existential ("n"))
simplify
(apply-macete-with-minor-premises bfun-values-defined-lemma)
(instantiate-universal-antecedent "with(p:prop,forall(p,q:zz,with(p:prop,p)));"

("n" "p_\$0"))
(simplify-antecedent "with(p:prop,not(p));"))
direct-and-antecedent-inference-strategy))
(block
(script-comment "node added by `apply-macete-with-minor-premises' at (1)")
direct-and-antecedent-inference-strategy
(apply-macete-with-minor-premises bfun-values-defined-lemma)
(instantiate-universal-antecedent "with(p:prop,forall(p,q:zz,with(p:prop,p)));"

("n" "n"))
(simplify-antecedent "with(p:prop,not(p));")))
simplify))))
(apply-macete-with-minor-premises tr%ball-membership-condition)
)
)

(theory mappings-into-a-pointed-metric-space))
```

```
(def-theorem bfun-completeness
"complete implies bfun%complete"
(proof
(

unfold-defined-constants
direct-and-antecedent-inference-strategy
(force-substitution "#(lim(s))" "lim(s)=lambda(x:ind_1,lim(lambda(n:zz, s(n)(x))))" (0))
(apply-macete-with-minor-premises cauchy-ptwise-converge-implies-uniform-convergence)
direct-and-antecedent-inference-strategy
(backchain "forall(s:[zz,pp],cauchy(s) implies #(lim(s)));")
(apply-macete-with-minor-premises uniform-cauchy-implies-ptwise-cauchy)
direct-and-antecedent-inference-strategy
)
)
(usages transportable-macete)
(theory mappings-into-a-pointed-metric-space))
```