- interface DecEq
Decision procedures for propositional equality
- decEq : DecEq t =>
(x1 : t) ->
(x2 : t) ->
Dec (x1 =
x2)
Decide whether two elements of t
are propositionally equal
- ZnotS : (0 =
S n) ->
Void
- decEqSelfIsYes : DecEq a =>
decEq x
x =
Yes Refl
Everything is decidably equal to itself
- leftNotRight : (Left x =
Right y) ->
Void
- lemma_both_neq : ((x =
x') ->
Void) ->
((y =
y') ->
Void) ->
((x,
y) =
(x',
y')) ->
Void
- lemma_fst_neq_snd_eq : ((x =
x') ->
Void) ->
(y =
y') ->
((x,
y) =
(x',
y)) ->
Void
- lemma_snd_neq : (x =
x) ->
((y =
y') ->
Void) ->
((x,
y) =
(x,
y')) ->
Void
- lemma_val_not_nil : (x ::
xs =
[]) ->
Void
- lemma_x_eq_xs_neq : (x =
y) ->
((xs =
ys) ->
Void) ->
(x ::
xs =
y ::
ys) ->
Void
- lemma_x_neq_xs_eq : ((x =
y) ->
Void) ->
(xs =
ys) ->
(x ::
xs =
y ::
ys) ->
Void
- lemma_x_neq_xs_neq : ((x =
y) ->
Void) ->
((xs =
ys) ->
Void) ->
(x ::
xs =
y ::
ys) ->
Void
- negEqSym : ((a =
b) ->
Void) ->
(b =
a) ->
Void
The negation of equality is symmetric (follows from symmetry of equality)
- nothingNotJust : (Nothing =
Just x) ->
Void
- trueNotFalse : (True =
False) ->
Void