def memn_range.cases

minebender-game@1.0.0.0 · proof_cells.bend:131

import minebender-game@1.0.0.0/proof_cells.bend as ProofCells
import Base
import minebender-game@1.0.0.0/proof_base.bend as P

131def memn_range.cases(+p: Nat, +i: Nat, r: Or({Nat.is_lt(i, p) == True{} : Bool}, {i == p : Nat}),
132  ih: {Nat.is_lt(i, p) == True{} : Bool} -> {memn(List.range(p), i) == True{} : Bool}) ->
133  {memn(List.append(&2, Nat, List.range(p), [p]), i) == True{} : Bool}:
134  match r:
135    case Inl{lt}:
136      memn_append_l(List.range(p), [p], i, ih(lt))
137    case Inr{eq}:
138      memn_append_r(List.range(p), [p], i,
139        %Equal.sym(Nat, i, p, eq) : {Bool.or(Nat.is_eq(p, _), False{}) == True{} : Bool};
140        %Equal.sym(Bool, Nat.is_eq(p, p), True{}, P.eq_refl(p)) : {Bool.or(_, False{}) == True{} : Bool};
141        {==})

Uses (15)

Used by (1)