Documentation

Projects.Expr.Basic

def List.wfLex {α : Type u_1} [LT α] (xs ys : List α) :
Equations
Instances For
    theorem List.length_le_of_wfLex {α : Type u_1} {xs ys : List α} [ha : LT α] (h : xs.wfLex ys) :
    @[simp]
    @[simp]
    theorem Expr.not_isNil_pair {a b : Expr} :
    @[simp]
    theorem Expr.isPair_pair {a b : Expr} :
    (a.pair b).isPair
    @[simp]
    @[simp]
    @[simp]
    theorem Expr.fst_pair {a b : Expr} :
    (a.pair b).fst = a
    @[simp]
    theorem Expr.snd_pair {a b : Expr} :
    (a.pair b).snd = b
    @[simp]
    theorem Expr.toPair_pair {a b : Expr} :
    (a.pair b).toPair = a.pair b
    @[simp]
    theorem Expr.ite_nil {a b : Expr} :
    nil.ite a b = b
    @[simp]
    theorem Expr.ite_pair {a b c d : Expr} :
    (a.pair b).ite c d = c
    @[simp]
    theorem Expr.ite_toPair {a b c : Expr} :
    a.toPair.ite b c = b
    @[simp]
    @[simp]
    @[simp]
    @[simp]
    theorem Expr.not_nil_and {a : Expr} :
    @[simp]
    @[simp]
    theorem Expr.toProp_pair {a b : Expr} :
    (a.pair b).toProp = T
    @[simp]
    theorem Expr.and_iff {a b : Expr} :
    theorem Expr.cases {p : ExprExprExpr} {f : ExprExpr} (h : ∀ (x : Expr), ((p x nil).and (p x (f x).toPair)).isPair) (x : Expr) :
    (p x (f x)).isPair
    theorem Expr.ind {p : ExprExpr} (h : ∀ (x : Expr), ((p nil).and (p x.toPair)).isPair) (x : Expr) :
    (p x).isPair
    @[simp]
    theorem Expr.eq_iff {a b : Expr} :
    (a.eq b).isPair a = b
    theorem Expr.le_def {a b : Expr} :
    a b (a.sle b).isPair
    theorem Expr.lt_def {a b : Expr} :
    a < b (a.slt b).isPair
    @[simp]
    theorem Expr.le_refl {a : Expr} :
    a a
    @[simp]
    theorem Expr.not_lt_nil {a : Expr} :
    @[simp]
    theorem Expr.nil_le {a : Expr} :
    @[simp]
    theorem Expr.or_iff {a b : Expr} :
    @[simp]
    theorem Expr.nil_lt_iff {a : Expr} :
    @[simp]
    theorem Expr.pair_ne_fst {a b : Expr} :
    a.pair b a
    @[simp]
    theorem Expr.pair_ne_snd {a b : Expr} :
    a.pair b b
    @[simp]
    theorem Expr.fst_ne_pair {a b : Expr} :
    a a.pair b
    @[simp]
    theorem Expr.snd_ne_pair {a b : Expr} :
    b a.pair b
    @[simp]
    @[simp]
    theorem Expr.depth'_pair {a b : Expr} :
    (a.pair b).depth' = 1 + max a.depth' b.depth'
    @[simp]
    theorem Expr.depth'_le_of_le {a b : Expr} (h : a b) :
    @[simp]
    theorem Expr.not_pair_le_fst {a b : Expr} :
    ¬a.pair b a
    @[simp]
    theorem Expr.not_pair_le_snd {a b : Expr} :
    ¬a.pair b b
    @[simp]
    theorem Expr.lt_irrefl {a : Expr} :
    ¬a < a
    @[simp]
    theorem Expr.le_nil_iff {a : Expr} :
    theorem Expr.le_iff_eq_or_lt {a b : Expr} :
    a b a = b a < b
    theorem Expr.lt_iff_le_and_ne {a b : Expr} :
    a < b a b ¬(a.eq b).isPair
    theorem Expr.le_of_lt {a b : Expr} (h : a < b) :
    a b
    @[simp]
    theorem Expr.lt_pair_iff {a b c : Expr} :
    a < b.pair c a b a c
    theorem Expr.depth'_lt_of_lt {a b : Expr} (h : a < b) :
    theorem Expr.depth'_le_of_lt {a b : Expr} (h : a < b) :
    @[simp]
    theorem Expr.not_pair_lt_fst {a b : Expr} :
    ¬a.pair b < a
    @[simp]
    theorem Expr.not_pair_lt_snd {a b : Expr} :
    ¬a.pair b < b