Documentation

MIPRE.TM.CookLevin.FieldProg

The fields of a literal, as programs #

FieldsR ι is a record of readers: one program per field of FieldsF, all of them reading the same input ι. FieldsR.ev A i is the field record its programs produce on the input i, and it is a structure literal whose components are, definitionally, the values of those programs — so every formula built from a FieldsR matches the same formula built from FieldsR.ev by rfl, and the whole family of programs of FamilyProg.lean costs one rfl each.

litFieldsR is the record of programs for litFields: the one place where the constants of the layout have to be produced, and the only proof in the program layer that is not definitional (planning/succinct-cook-levin.md, S3).

Records of readers #

A field record of programs, all reading the same input.

Instances For

    The field record the programs produce on an input.

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

      A candidate of programs.

      Instances For
        def MIPRE.TM.CookLevin.Desc.CandR.ev {ι : Type u_1} [Cost.SizedEncoding ι] (C : CandR ι) (i : ι) :

        The candidate the programs produce on an input.

        Equations
        Instances For

          The constants of the layout #

          theorem MIPRE.TM.CookLevin.Desc.dblR_spec {ι : Type u_1} [Cost.SizedEncoding ι] (T : Cost.PolyTimeFun ι ℕ) (i : ι) (j : ℕ) :
          List.getD ((dblR T).toFun i) j false = (2 * T.toFun i).testBit j
          theorem MIPRE.TM.CookLevin.Desc.quadR_spec {ι : Type u_1} [Cost.SizedEncoding ι] (T : Cost.PolyTimeFun ι ℕ) (i : ι) (j : ℕ) :
          List.getD ((quadR T).toFun i) j false = (4 * T.toFun i).testBit j

          The fields of a literal #

          An index into a field, from an offset in unary.

          Equations
          Instances For

            rF.

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

              pAnsF.

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

                The ten fields #

                The tag field.

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

                  The t field.

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

                    The d field.

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

                      The p field.

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

                        The v field.

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

                          The q field.

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

                            The js fields.

                            Equations
                            • One or more equations did not get rendered due to their size.
                            Instances For
                              theorem MIPRE.TM.CookLevin.Desc.jsR_apply {ι : Type u_1} [Cost.SizedEncoding ι] (eu b : Cost.PolyTimeFun ι Cost.Unary) (k : ℕ) (i : ι) :
                              (jsR eu b k).toFun i = muxList (flagF (List.length (eu.toFun i)) Gc (List.length (b.toFun i))) (SAT.Fml.field (List.length (b.toFun i) + jsOff (List.length (eu.toFun i)) k) (W (List.length (eu.toFun i)))) (cst (W (List.length (eu.toFun i))) 0)

                              The g field.

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

                                The ansOk field.

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

                                  The field programs of the literal with base b.

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

                                    The field programs are the field formulas: the record of programs for litFields produces litFields.