Documentation

LeanPool.GapCVP.Part04A

GapCVP proof, part 04 #

theorem GapCVP.CNFInputDependentRecordSort.sourceOrderedDistinctRecords_eq_of_nodup_pairwise {α : Type} [Encodable α] [DecidableEq α] (source candidate : List α) (hmembership : ∀ (record : α), record ∈ candidate ↔ record ∈ source) (hnodup : candidate.Nodup) (hpairwise : List.Pairwise (fun (first second : α) => Encodable.encode first ≤ Encodable.encode second) candidate) :

GapCVP reduction support.

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

      GapCVP reduction support.

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

        Internal support shared across GapCVP continuation modules.

        Equations
        • One or more equations did not get rendered due to their size.
        Instances For
          @[reducible, inline]

          Internal support shared across GapCVP continuation modules.

          Equations
          • One or more equations did not get rendered due to their size.
          Instances For
            def GapCVP.CNFNaturalOrderComparator.naturalCompareConfiguration (phase : Fin 12) (outcome : CNFEncodedClauseSort.EncodedWordOrdering) (input firstCounter firstReversed secondCounter secondReversed firstForward secondForward source sourcePrefix output : List Bool) :

            Internal support shared across GapCVP continuation modules.

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

              Executes the naturalCompareStepTac machine-step simplifier.

              Equations
              • One or more equations did not get rendered due to their size.
              Instances For
                theorem GapCVP.CNFNaturalOrderComparator.naturalCompareWordsEqualBit (outcome : CNFEncodedClauseSort.EncodedWordOrdering) (bit : Bool) (input firstCounter firstReversed secondCounter secondReversed firstForward secondForward source sourcePrefix output : List Bool) :
                delimitedNaturalComparisonMachine.step (naturalCompareConfiguration 6 outcome input firstCounter firstReversed secondCounter secondReversed (bit :: firstForward) (bit :: secondForward) source sourcePrefix output) = some (naturalCompareConfiguration 6 outcome input firstCounter firstReversed secondCounter secondReversed firstForward secondForward source sourcePrefix output)
                theorem GapCVP.CNFNaturalOrderComparator.naturalCompareWordsLessBit (outcome : CNFEncodedClauseSort.EncodedWordOrdering) (input firstCounter firstReversed secondCounter secondReversed firstForward secondForward source sourcePrefix output : List Bool) :
                delimitedNaturalComparisonMachine.step (naturalCompareConfiguration 6 outcome input firstCounter firstReversed secondCounter secondReversed (false :: firstForward) (true :: secondForward) source sourcePrefix output) = some (naturalCompareConfiguration 6 CNFEncodedClauseSort.EncodedWordOrdering.less input firstCounter firstReversed secondCounter secondReversed firstForward secondForward source sourcePrefix output)
                theorem GapCVP.CNFNaturalOrderComparator.naturalCompareWordsGreaterBit (outcome : CNFEncodedClauseSort.EncodedWordOrdering) (input firstCounter firstReversed secondCounter secondReversed firstForward secondForward source sourcePrefix output : List Bool) :
                delimitedNaturalComparisonMachine.step (naturalCompareConfiguration 6 outcome input firstCounter firstReversed secondCounter secondReversed (true :: firstForward) (false :: secondForward) source sourcePrefix output) = some (naturalCompareConfiguration 6 CNFEncodedClauseSort.EncodedWordOrdering.greater input firstCounter firstReversed secondCounter secondReversed firstForward secondForward source sourcePrefix output)
                theorem GapCVP.CNFNaturalOrderComparator.naturalCompareWordsFirstEmptyFalse (outcome : CNFEncodedClauseSort.EncodedWordOrdering) (input firstCounter firstReversed secondCounter secondReversed secondForward source sourcePrefix output : List Bool) :
                delimitedNaturalComparisonMachine.step (naturalCompareConfiguration 6 outcome input firstCounter firstReversed secondCounter secondReversed [] (false :: secondForward) source sourcePrefix output) = some (naturalCompareConfiguration 6 outcome input firstCounter firstReversed secondCounter secondReversed [] secondForward source sourcePrefix output)
                theorem GapCVP.CNFNaturalOrderComparator.naturalCompareWordsFirstEmptyTrue (outcome : CNFEncodedClauseSort.EncodedWordOrdering) (input firstCounter firstReversed secondCounter secondReversed secondForward source sourcePrefix output : List Bool) :
                delimitedNaturalComparisonMachine.step (naturalCompareConfiguration 6 outcome input firstCounter firstReversed secondCounter secondReversed [] (true :: secondForward) source sourcePrefix output) = some (naturalCompareConfiguration 6 CNFEncodedClauseSort.EncodedWordOrdering.less input firstCounter firstReversed secondCounter secondReversed [] secondForward source sourcePrefix output)
                theorem GapCVP.CNFNaturalOrderComparator.naturalCompareWordsSecondEmptyFalse (outcome : CNFEncodedClauseSort.EncodedWordOrdering) (input firstCounter firstReversed secondCounter secondReversed firstForward source sourcePrefix output : List Bool) :
                delimitedNaturalComparisonMachine.step (naturalCompareConfiguration 6 outcome input firstCounter firstReversed secondCounter secondReversed (false :: firstForward) [] source sourcePrefix output) = some (naturalCompareConfiguration 6 outcome input firstCounter firstReversed secondCounter secondReversed firstForward [] source sourcePrefix output)
                theorem GapCVP.CNFNaturalOrderComparator.naturalCompareWordsSecondEmptyTrue (outcome : CNFEncodedClauseSort.EncodedWordOrdering) (input firstCounter firstReversed secondCounter secondReversed firstForward source sourcePrefix output : List Bool) :
                delimitedNaturalComparisonMachine.step (naturalCompareConfiguration 6 outcome input firstCounter firstReversed secondCounter secondReversed (true :: firstForward) [] source sourcePrefix output) = some (naturalCompareConfiguration 6 CNFEncodedClauseSort.EncodedWordOrdering.greater input firstCounter firstReversed secondCounter secondReversed firstForward [] source sourcePrefix output)
                theorem GapCVP.CNFNaturalOrderComparator.naturalCompareWordsBothEmptyInvalid (input firstCounter firstReversed secondCounter secondReversed source sourcePrefix output : List Bool) :
                delimitedNaturalComparisonMachine.step (naturalCompareConfiguration 6 CNFEncodedClauseSort.EncodedWordOrdering.invalid input firstCounter firstReversed secondCounter secondReversed [] [] source sourcePrefix output) = some (naturalCompareConfiguration 7 CNFEncodedClauseSort.EncodedWordOrdering.equal input firstCounter firstReversed secondCounter secondReversed [] [] source sourcePrefix output)
                theorem GapCVP.CNFNaturalOrderComparator.naturalCompareWordsBothEmpty (outcome : CNFEncodedClauseSort.EncodedWordOrdering) (hvalid : outcome ≠ CNFEncodedClauseSort.EncodedWordOrdering.invalid) (input firstCounter firstReversed secondCounter secondReversed source sourcePrefix output : List Bool) :
                delimitedNaturalComparisonMachine.step (naturalCompareConfiguration 6 outcome input firstCounter firstReversed secondCounter secondReversed [] [] source sourcePrefix output) = some (naturalCompareConfiguration 7 outcome input firstCounter firstReversed secondCounter secondReversed [] [] source sourcePrefix output)

                Treat an uninitialized comparison result as equality.

                Equations
                • One or more equations did not get rendered due to their size.
                Instances For
                  noncomputable def GapCVP.CNFNaturalOrderComparator.naturalCompareWordsTrace (outcome : CNFEncodedClauseSort.EncodedWordOrdering) (first second input firstCounter firstReversed secondCounter secondReversed source sourcePrefix output : List Bool) :
                  StateTransition.EvalsToInTime delimitedNaturalComparisonMachine.step (naturalCompareConfiguration 6 outcome input firstCounter firstReversed secondCounter secondReversed first second source sourcePrefix output) (some (naturalCompareConfiguration 7 (littleEndianNaturalFold (naturalComparisonEffectiveOutcome outcome) first second) input firstCounter firstReversed secondCounter secondReversed [] [] source sourcePrefix output)) (first.length + second.length + 1)

                  Compare both encoded natural-number words and record their final order.

                  Equations
                  • One or more equations did not get rendered due to their size.
                  Instances For
                    noncomputable def GapCVP.CNFNaturalOrderComparator.naturalCompareWordsTraceInitial (first second input firstCounter firstReversed secondCounter secondReversed source sourcePrefix output : List Bool) :
                    StateTransition.EvalsToInTime delimitedNaturalComparisonMachine.step (naturalCompareConfiguration 6 CNFEncodedClauseSort.EncodedWordOrdering.invalid input firstCounter firstReversed secondCounter secondReversed first second source sourcePrefix output) (some (naturalCompareConfiguration 7 (littleEndianNaturalOrdering first second) input firstCounter firstReversed secondCounter secondReversed [] [] source sourcePrefix output)) (first.length + second.length + 1)

                    Internal support shared across GapCVP continuation modules.

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