Captured plain polynomial-time rules #
Plain Turing.MultiTapeTM.ComputableInPolyTime composition rules for operations that combine
multiple arguments computed from a shared input. Rules whose head and encoding disambiguate
search are registered with fun_prop, and rules whose result hides an element or index encoding
additionally carry program_certificate; binary_mod' stays explicit alongside
Turing.MultiTapeTM.ComputableInPolyTime.binary_div' so HMod.hMod automation on
Turing.MultiTapeTM.encUnary remains unambiguous.
Main results #
Turing.MultiTapeTM.ComputableInPolyTime.cond': Boolean_root_.condcase distinction.Turing.MultiTapeTM.ComputableInPolyTime.listHead?WithInput: optional head of a computed framed list, fixing the element encoding without typeclass synthesis.Turing.MultiTapeTM.ComputableInPolyTime.listHeadDWithInput: head of a computed framed list with a computed fallback.Turing.MultiTapeTM.ComputableInPolyTime.listTakeWithInput: prefix of a computed framed list of computed unary length.Turing.MultiTapeTM.ComputableInPolyTime.listDropWithInput: suffix of a computed framed list after dropping a computed unary prefix.Turing.MultiTapeTM.ComputableInPolyTime.countWithInput: unary occurrence count of a computed value in a computed framed list.Turing.MultiTapeTM.ComputableInPolyTime.anyConst: existential Boolean scan over a fixed list with input-dependent predicates.Turing.MultiTapeTM.ComputableInPolyTime.binary_mod': explicit remainder of computed binary naturals onTuring.MultiTapeTM.encNat.
Case distinction on a computed Boolean guard in any encoding of Bool, for _root_.cond.
Read the optional head of a computed framed list, inferring the element encoding directly
from the list certificate without waiting on ListEncoding synthesis.
Read the head of a computed framed list with a computed fallback, inferring the element encoding from the list before checking the fallback or composing with an outer projection.
Drop a computed unary number of elements from a computed framed list.
Take a computed unary number of elements from a computed framed list.
Count occurrences of a computed value in a computed framed list using lawful Boolean equality, returning the count in unary.
Test whether any element of a fixed list satisfies an input-dependent predicate. Only the list's members need certificates; the index type may live in any universe and requires no encoding.
Remainder of computed binary naturals on encNat. Like
Turing.MultiTapeTM.ComputableInPolyTime.binary_div', this rule is kept out of fun_prop and
program_certificate so HMod.hMod dispatch on encUnary stays unambiguous.