Documentation

ExistentialRules.AtomsAndRules.FunctionFreeFact

FunctionFreeFacts #

A FunctionFreeFact is a GeneralizedAtom with constants.

@[reducible, inline]
abbrev FunctionFreeFact (sig : Signature) [DecidableEq sig.P] :
Type (max u_3 u_1)
Equations
Instances For

    A FunctionFreeFact can always be converted to a Fact.

    Equations
    Instances For
      def Fact.toFunctionFreeFact {sig : Signature} [DecidableEq sig.P] [DecidableEq sig.C] [DecidableEq sig.V] (f : Fact sig) (isFunctionFree : f.isFunctionFree) :

      If a Fact.isFunctionFree, then we can convert it to a FunctionFreeFact.

      Equations
      Instances For
        @[simp]
        theorem Fact.toFact_after_toFunctionFreeFact_is_id {sig : Signature} [DecidableEq sig.P] [DecidableEq sig.C] [DecidableEq sig.V] (f : Fact sig) (isFunctionFree : f.isFunctionFree) :
        (f.toFunctionFreeFact isFunctionFree).toFact = f

        Converting a Fact to a FunctionFreeFact and back yields the initial Fact.