Derived laws of SPred #
This module contains some laws about SPred that are derived from
the laws in Std.Do.Laws.
Connectives #
Monotonicity and congruence #
Boolean algebra #
Pure #
Miscellaneous #
Working with entailment #
Tactic support #
@[reducible, inline]
Tautology in SPred as a quotable definition.
Equations
Instances For
instance
Std.Do.SPred.Tactic.instPropAsSPredTautologyEntailsImp
{σs : List (Type u)}
{P Q : SPred σs}
 :
PropAsSPredTautology (P ⊢ₛ Q) spred(P → Q)
instance
Std.Do.SPred.Tactic.instPropAsSPredTautologyEntailsPureTrue
{σs : List (Type u)}
{P : SPred σs}
 :
PropAsSPredTautology (⊢ₛ P) P
theorem
Std.Do.SPred.Tactic.ProofMode.start_entails
{σs : List (Type u)}
{P : SPred σs}
{φ : Prop}
[PropAsSPredTautology φ P]
 :
(⊢ₛ P) → φ
theorem
Std.Do.SPred.Tactic.ProofMode.elim_entails
{σs : List (Type u)}
{P : SPred σs}
{φ : Prop}
[PropAsSPredTautology φ P]
 :
φ → ⊢ₛ P
theorem
Std.Do.SPred.Tactic.Exact.from_tautology
{σs : List (Type u)}
{φ : Prop}
{P T : SPred σs}
[PropAsSPredTautology φ T]
(h : φ)
 :
theorem
Std.Do.SPred.Tactic.Specialize.pure_start
{σs : List (Type u)}
{φ : Prop}
{H P T : SPred σs}
[PropAsSPredTautology φ H]
(hpure : φ)
(hgoal : P ∧ H ⊢ₛ T)
 :
instance
Std.Do.SPred.Tactic.instHasFrameCurryULiftPropUpAndOfAnd
{φ : Prop}
(σs : List (Type u_1))
(P P' : SVal.StateTuple σs → Prop)
(Q : SPred σs)
[HasFrame
    spred((SVal.curry fun (t : SVal.StateTuple σs) => { down := P t }) ∧         SVal.curry fun (t : SVal.StateTuple σs) => { down := P' t })
    Q φ]
 :
HasFrame (SVal.curry fun (t : SVal.StateTuple σs) => { down := P t ∧ P' t }) Q φ