Documentation

Linglib.Core.Logic.Duality

Duality #

@cite{barwise-cooper-1981}

Universal vs existential operators formalized as a Galois connection.

Main definitions #

For GQ-level duality operations (outer negation, inner negation, dual) see Core.Quantification.outerNeg / innerNeg / dualQ.

Existential vs universal classification.

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

      Aggregate a list according to duality type.

      Equations
      Instances For

        Existential aggregation: true if ANY true.

        Equations
        Instances For

          Universal aggregation: true only if ALL true.

          Equations
          Instances For
            theorem Core.Duality.foldl_sup_mem_true (l : List Truth3) (acc : Truth3) (h : Truth3.true l) :
            List.foldl (fun (x1 x2 : Truth3) => x1x2) acc l = Truth3.true
            theorem Core.Duality.foldl_inf_mem_false (l : List Truth3) (acc : Truth3) (h : Truth3.false l) :
            List.foldl (fun (x1 x2 : Truth3) => x1x2) acc l = Truth3.false
            def Core.Duality.const {α : Type u_1} (t : Truth3) :
            αTruth3
            Equations
            Instances For
              def Core.Duality.exists' {α : Type u_1} (P : αTruth3) (l : List α) :
              Equations
              Instances For
                def Core.Duality.forall' {α : Type u_1} (P : αTruth3) (l : List α) :
                Equations
                Instances For