fun_prop rules for bounds up to constants #
fun_prop proves Turing.MultiTapeTM.ComputableInO f encIn encOut T S from rules in
compositional form. The bounds of each rule's conclusion are a function of the bounds of its
premises, so in a goal whose bounds T and S are metavariables, fun_prop assembles them from
the parts of f. The usual pattern compares the assembled bounds with the intended ones in a
single step:
refine .mono (by fun_prop) k (fun a => ?_) fun a => ?_
The rules cover constants, the identity, composition, pairs and their projections, case
distinction on a computed Boolean, and Option.isSome and Option.getD. Other certificates
become rules in the same compositional form, for example fun x => F (g x) from
Turing.MultiTapeTM.ComputableInO.comp'.
Main results #
Turing.MultiTapeTM.ComputableInO.id',.comp': the identity and composition, in the form required byfun_prop.Turing.MultiTapeTM.ComputableInO.optionIsSome,.optionGetD: option tests and defaults, with the bounds of the option.
Copy an encoded value, within linear time and space.
Turing.MultiTapeTM.ComputableInO.comp in the form required by fun_prop.
Whether a computed option holds a value, within the bounds of the option.
The value of a computed option, or a fixed default, within the bounds of the option.