Documentation

LeanPool.Lentil.ProofMode.Tactics.Monotone

def TLA.ProofMode.mapHypPreds {σ : Type u} (f : pred σpred σ) (hyps : List (NamedPred σ)) :

Map a function over the predicates of a hypothesis list.

Equations
Instances For
    theorem TLA.ProofMode.repeatedAnd_map_eventually_always {σ : Type u} (ps : List (pred σ)) :
    ((repeatedAnd (List.map (fun (p : pred σ) => [tlafml|p]) ps))) =tla= ((repeatedAnd ps))
    theorem TLA.ProofMode.Entails_later_monotone {σ : Type u} {hyps : List (NamedPred σ)} {goal : pred σ} :
    Entails hyps goalEntails (mapHypPreds later hyps) [tlafml|goal]
    theorem TLA.ProofMode.Entails_always_monotone {σ : Type u} {hyps : List (NamedPred σ)} {goal : pred σ} :
    Entails hyps goalEntails (mapHypPreds always hyps) [tlafml|goal]
    theorem TLA.ProofMode.Entails_eventually_always_monotone {σ : Type u} {hyps : List (NamedPred σ)} {goal : pred σ} :
    Entails hyps goalEntails (mapHypPreds (fun (p : pred σ) => [tlafml|p]) hyps) [tlafml|goal]
    theorem TLA.ProofMode.Entails_eventually_monotone_single {σ : Type u} {hyps : List (NamedPred σ)} {goal : pred σ} {name : String} {p : pred σ} (h : hyps = [{ name := name, pred := p }]) :
    Entails hyps goalEntails (mapHypPreds eventually hyps) [tlafml|goal]
    theorem TLA.ProofMode.Entails_always_eventually_monotone_single {σ : Type u} {hyps : List (NamedPred σ)} {goal : pred σ} {name : String} {p : pred σ} (h : hyps = [{ name := name, pred := p }]) :
    Entails hyps goalEntails (mapHypPreds (fun (p : pred σ) => [tlafml|p]) hyps) [tlafml|goal]

    tla_monotone removes a common monotone temporal prefix from the proof-mode context and goal.

    For example, if every temporal hypothesis and the goal are prefixed by , then

    tla_monotone
    

    turns a context such as hp : □ p, hq : □ q with goal □ r into hp : p, hq : q with goal r.

    It also supports and ◇□ over multiple hypotheses, and the single-hypothesis cases for and □◇. Outside proof mode it applies the corresponding raw monotonicity theorem:

    tla_monotone
    

    changes a raw goal □ p |-tla- □ q to p |-tla- q.

    Equations
    Instances For