Idris2Doc : Frex.Lemma

Frex.Lemma

Definitions

recordLemma : Presentation->Type
  A lemma is an equation that can be proven in the free construction

Totality: total
Visibility: public export
Constructor: 
MkLemma : (equation : Equation (pres.signature)) ->(|-) (QuotientDatapres (cast (Fin (equation.support)))) (equation.lhs) (equation.rhs) ->Lemmapres

Projections:
.derivable : ({rec:0} : Lemmapres) ->(|-) (QuotientDatapres (cast (Fin ((equation{rec:0}) .support)))) ((equation{rec:0}) .lhs) ((equation{rec:0}) .rhs)
.equation : Lemmapres->Equation (pres.signature)
.equation : Lemmapres->Equation (pres.signature)
Visibility: public export
equation : Lemmapres->Equation (pres.signature)
Visibility: public export
.derivable : ({rec:0} : Lemmapres) ->(|-) (QuotientDatapres (cast (Fin ((equation{rec:0}) .support)))) ((equation{rec:0}) .lhs) ((equation{rec:0}) .rhs)
Visibility: public export
derivable : ({rec:0} : Lemmapres) ->(|-) (QuotientDatapres (cast (Fin ((equation{rec:0}) .support)))) ((equation{rec:0}) .lhs) ((equation{rec:0}) .rhs)
Visibility: public export
mkLemma : (free : Freepres (cast (Finn))) -> (eq : (Term (pres.signature) (Finn), Term (pres.signature) (Finn))) -> ((free.Data) .Model) .rel (free.Sem (fsteq) (((free.Data) .Env) .H)) (free.Sem (sndeq) (((free.Data) .Env) .H)) =>Lemmapres
  Declare a lemma by invoking a free solver on the equation.

Visibility: public export
instantiate : (|-) (QuotientDatapres (cast (Finn))) lhsrhs-> (env : (Finn->Ua)) ->(|-)a (bindTermlhsenv) (bindTermrhsenv)
  Instantiating a free proof on free terms to get a free proof on a setoid

Visibility: public export
byLemma' : (a : Modelpres) -> (lemma : Lemmapres) ->PI ((lemma.equation) .support) Visible (Ua) (\env=>a.rel (a.Sem ((lemma.equation) .lhs) (\i=>indexienv)) (a.Sem ((lemma.equation) .rhs) (\i=>indexienv)))
  Instantiating a lemma to prove a concrete fact in a give model
The user is expected to pass the instantiation (useful if unification
is not enough to reconstruct it)

Visibility: public export
byLemma : (a : Modelpres) -> (lemma : Lemmapres) ->PI ((lemma.equation) .support) Hidden (Ua) (\env=>a.rel (a.Sem ((lemma.equation) .lhs) (\i=>indexienv)) (a.Sem ((lemma.equation) .rhs) (\i=>indexienv)))
  Instantiating a lemma to prove a concrete fact in a give model
The user does not have to pass the instantiation (useful if unification
is enough to reconstruct it)

Visibility: public export