Documentation

Trestle.Data.LitVar.Defs

Literals #

@[specialize #[]]
class Trestle.LitVar (L : Type u) (ν : outParam (Type v)) :
Type (max u v)

The type L is a representation of literals over variables of type ν.

  • negate : LL
  • mkPos : νL
  • mkNeg : νL
  • toVar : Lν
  • polarity : LBool

    true if positive

Instances
    def Trestle.LitVar.mkLit (L : Type u) {ν : Type v} [LitVar L ν] (x : ν) (p : Bool) :
    L
    Equations
    Instances For
      def Trestle.LitVar.map {L : Type u_1} {V : Type u_2} {L' : Type u_3} {V' : Type u_4} [LitVar L V] [LitVar L' V'] (f : VV') (l : L) :
      L'
      Equations
      Instances For
        instance Trestle.LitVar.instCoe {L : Type u} {ν : Type v} [LitVar L ν] :
        Coe ν L
        Equations
        @[simp]
        theorem Trestle.LitVar.negate_eq {L : Type u} {ν : Type v} [LitVar L ν] (l : L) :
        instance Trestle.LitVar.instToString {L : Type u} {ν : Type v} [LitVar L ν] [ToString ν] :
        Equations
        • One or more equations did not get rendered due to their size.

        Lawful literals #

        class Trestle.LawfulLitVar (L : Type u) (ν : outParam (Type v)) [LitVar L ν] :
        Instances
          theorem Trestle.LawfulLitVar.ext_iff {L : Type u} {ν : outParam (Type v)} {inst✝ : LitVar L ν} [self : LawfulLitVar L ν] {l₁ l₂ : L} :

          Sums as valid literals #

          instance Trestle.LitVar.instSum {L1 : Type u_1} {V1 : Type u_2} {L2 : Type u_3} {V2 : Type u_4} [LitVar L1 V1] [LitVar L2 V2] :
          LitVar (L1 L2) (V1 V2)
          Equations
          • One or more equations did not get rendered due to their size.