Documentation

LeanPool.GapCVP.Part03G

GapCVP proof, part 03, continuation 07 #

def GapCVP.CNFEncodedClauseSort.lengthPrefixedPairCases {motive : List BoolSort u_1} (missingFirst : (count : ) → motive (List.replicate count true)) (truncatedFirst : (count : ) → (tail : List Bool) → tail.length < countmotive (List.replicate count true ++ false :: tail)) (missingSecond : (first : List Bool) → (count : ) → motive (BinaryEncoding.lengthPrefixedWord first ++ List.replicate count true)) (truncatedSecond : (first : List Bool) → (count : ) → (tail : List Bool) → tail.length < countmotive (BinaryEncoding.lengthPrefixedWord first ++ (List.replicate count true ++ false :: tail))) (valid : (first second suffix : List Bool) → motive (BinaryEncoding.lengthPrefixedWord first ++ (BinaryEncoding.lengthPrefixedWord second ++ suffix))) (input : List Bool) :
motive input

Exhaust the five shapes of two length-prefixed fields, including missing delimiters and truncated payloads. The motive may carry a computation trace, not just a proposition.

Equations
  • One or more equations did not get rendered due to their size.
Instances For

    GapCVP reduction support.

    Equations
    • One or more equations did not get rendered due to their size.
    Instances For