(def-constant ff%dist "lambda(f,g:ff, fn%dist(f,g))" (theory graded-monoid))
(def-theorem ff%dist-is-bounded "forall(f,g:ff, ff%dist(f,g)<=1)" (theory graded-monoid) (proof ( direct-and-antecedent-inference-strategy (unfold-single-defined-constant-globally ff%dist) (cut-with-single-formula "forsome(f_1,g_1:total%fns, f=f_1 and g=g_1)") (block (script-comment "`cut-with-single-formula' at (0)") (antecedent-inference "with(p:prop,p);") (backchain "with(p:prop,p);") (backchain "with(p:prop,p);") (weaken (0)) (apply-macete-with-minor-premises tr%fn%dist-is-bounded)) (instantiate-existential ("f" "g")) )))
(def-theorem stop-is-in-ff "#(stop_ff,ff)" (theory graded-monoid) lemma (proof ( (apply-macete-with-minor-premises ff-defining-axiom_directed-monoid-theory) (apply-macete-with-minor-premises stop-is-a-failure) )))
(def-theorem positivity-of-ff%dist "forall(x,y:ff,0<=ff%dist(x,y))" lemma (theory graded-monoid) (proof ( (unfold-single-defined-constant-globally ff%dist) (apply-macete-with-minor-premises graded-monoid-fn%dist-non-negative) )))
(def-theorem () "forall(x,y:ff,x=y iff ff%dist(x,y)=0)" (theory graded-monoid) lemma (proof ( (unfold-single-defined-constant-globally ff%dist) (apply-macete-with-minor-premises graded-monoid-fn%dist-reflexive) )))
(def-theorem () "forall(x,y:ff,ff%dist(x,y)=ff%dist(y,x))" (theory graded-monoid) lemma (proof ( (unfold-single-defined-constant-globally ff%dist) (apply-macete-locally graded-monoid-fn%dist-symmetric (0) "fn%dist(x,y)") simplify direct-and-antecedent-inference-strategy (cut-with-single-formula "0<=fn%dist(y,x)") (apply-macete-with-minor-premises graded-monoid-fn%dist-non-negative) )))
(def-theorem () "forall(x,y,z:ff,ff%dist(x,z)<=ff%dist(x,y)+ff%dist(y,z))" (theory graded-monoid) lemma (proof ( (unfold-single-defined-constant-globally ff%dist) (apply-macete-with-minor-premises graded-monoid-fn%dist-triangle-inequality) )))
(def-translation pointed-metric-space-to-graded-monoid force-under-quick-load (source pointed-metric-spaces) (target graded-monoid) (fixed-theories h-o-real-arithmetic) (sort-pairs (pp ff)) (constant-pairs (a_0 stop_ff) (dist ff%dist)) (theory-interpretation-check using-simplification))
(def-transported-symbols (complete cauchy lim) (translation pointed-metric-space-to-graded-monoid) (renamer pms-to-gm) )
(def-theorem ff-completeness "ff%complete" (theory graded-monoid) (proof ( (cut-with-single-formula "sub%complete") (move-to-sibling 1) (apply-macete-with-minor-premises completeness-of-ff) (block (script-comment "`cut-with-single-formula' at (0)") (incorporate-antecedent "sub%complete;") unfold-defined-constants unfold-defined-constants (unfold-single-defined-constant-globally ff%dist)) )))
(def-theory parametrized-graded-monoid (component-theories graded-monoid generic-theory-1))
(def-theorem () "forsome(h:[ind_1,ff],total_q{h,[ind_1,ff]})" (theory parametrized-graded-monoid) (proof ( (instantiate-existential ("with(f:ff, lambda(x:ind_1,f))")) simplify-insistently )))
(def-theorem () "forall(h:[ind_1,ff], total_q{h,[ind_1,ff]} iff (total_q{h,[ind_1,ff]} and #(sup(lambda(a:rr, if(forsome(u:ind_1, a=ff%dist(stop_ff,h(u))), an%individual, ?unit%sort))))))" (theory parametrized-graded-monoid) lemma (proof ( direct-and-antecedent-inference-strategy (apply-macete-with-minor-premises tr%prec%sup-defined) direct-and-antecedent-inference-strategy (block (script-comment "`direct-and-antecedent-inference-strategy' at (0)") simplify-insistently (instantiate-existential ("with(u:ind_1, ff%dist(stop_ff,h(u)))")) (block (script-comment "`instantiate-existential' at (0)") (instantiate-existential ("u")) (cut-with-single-formula "0<=ff%dist(stop_ff,h(u))") (apply-macete-with-minor-premises positivity-of-ff%dist) (apply-macete-with-minor-premises stop-is-in-ff)) (cut-with-single-formula "0<=ff%dist(stop_ff,h(u))")) (block (script-comment "`direct-and-antecedent-inference-strategy' at (1 0)") (instantiate-existential ("1")) (unfold-single-defined-constant-globally majorizes) simplify-insistently direct-and-antecedent-inference-strategy (backchain "with(r,x_$0:rr,x_$0=r);") (apply-macete-with-minor-premises ff%dist-is-bounded)) )))
(def-translation mappings-into-a-pointed-metric-space-to-parametrized-graded-monoid force-under-quick-load (source mappings-into-a-pointed-metric-space) (target parametrized-graded-monoid) (fixed-theories h-o-real-arithmetic) (sort-pairs (bfun (pred "lambda(x:[ind_1, ff], total_q{x,[ind_1 -> ff]})"))) (core-translation pointed-metric-space-to-graded-monoid) (theory-interpretation-check using-simplification))
(def-transported-symbols (bfun%dist) (translation mappings-into-a-pointed-metric-space-to-parametrized-graded-monoid) (renamer mpms-to-pgm) )
(def-theorem () "forall(x,y,z:bfun, bfun%dist(x,z)<=bfun%dist(x,y)+bfun%dist(y,z))" lemma (theory parametrized-graded-monoid) (translation mappings-into-a-pointed-metric-space-to-parametrized-graded-monoid) (proof existing-theorem))
(def-theorem () "forall(x,y:bfun, 0<=bfun%dist(x,y))" lemma (theory parametrized-graded-monoid) (translation mappings-into-a-pointed-metric-space-to-parametrized-graded-monoid) (proof existing-theorem))
(def-theorem () "forall(x,y:bfun, bfun%dist(x,y)=bfun%dist(y,x))" lemma (theory parametrized-graded-monoid) (translation mappings-into-a-pointed-metric-space-to-parametrized-graded-monoid) (proof existing-theorem))
(def-theorem () "forall(x,y:bfun, x=y iff bfun%dist(x,y)=0)" lemma (theory parametrized-graded-monoid) (translation mappings-into-a-pointed-metric-space-to-parametrized-graded-monoid) (proof existing-theorem))
(def-theorem () "forall(f,g:[ind_1,ff], #(ff%dist_p(f,g)) implies total_q{f,[ind_1,ff]} and total_q{g,[ind_1,ff]})" lemma (theory parametrized-graded-monoid) (proof ( (unfold-single-defined-constant-globally ff%dist_p) simplify )))
(def-theory-ensemble-instances metric-spaces force-under-quick-load (permutations (0) (0 1)) (sorts (pp (pred "lambda(x:[ind_1, ff], total_q{x,[ind_1 -> ff]})") (pred "lambda(x:[ind_1, ff], total_q{x,[ind_1 -> ff]})"))) (constants (dist ff%dist_p ff%dist_p)) (target-theories parametrized-graded-monoid parametrized-graded-monoid) (special-renamings (complete ff%complete_p) (contraction ff%contraction_p) (mu ff%mu_p)))
(def-theorem parametrized-completeness "ff%complete_p" (theory parametrized-graded-monoid) (proof ( (assume-transported-theorem bfun-completeness mappings-into-a-pointed-metric-space-to-parametrized-graded-monoid) (backchain "with(p:prop,p);") (apply-macete-with-minor-premises ff-completeness) )))
(def-theorem parametrized-definedness-of-mu-for-contractions-lemma definedness-of-mu-for-contractions lemma (theory parametrized-graded-monoid) (translation metric-spaces-to-parametrized-graded-monoid) (proof existing-theorem))
(def-theorem parametrized-condition-for-contractions-on-function-spaces-lemma condition-for-contractions-on-function-spaces lemma (theory parametrized-graded-monoid) (translation mappings-into-a-pointed-metric-space-to-parametrized-graded-monoid) (proof existing-theorem))
(def-atomic-sort ff_p "lambda(x:[ind_1, ff], total_q{x,[ind_1 -> ff]})" (theory parametrized-graded-monoid))
(def-theorem parametrized-definedness-of-mu-for-contractions "forall(f:[ff_p->ff_p], ff%contraction_p(f) and total_q{f,[ff_p->ff_p]} implies #(ff%mu_p(f)))" (theory parametrized-graded-monoid) (proof ( (unfold-single-defined-constant-globally ff%contraction_p) simplify-insistently direct-and-antecedent-inference-strategy (apply-macete-with-minor-premises parametrized-definedness-of-mu-for-contractions-lemma) direct-and-antecedent-inference-strategy (apply-macete-with-minor-premises parametrized-completeness) (block (script-comment "`direct-and-antecedent-inference-strategy' at (2)") (unfold-single-defined-constant-globally ff%contraction_p) simplify-insistently auto-instantiate-existential) (backchain "with(f:[ff_p,ff_p],total_q{f,[ff_p,ff_p]});") )))