aboutsummaryrefslogtreecommitdiffstats
path: root/src/common
diff options
context:
space:
mode:
authorYann Herklotz <git@yannherklotz.com>2023-05-05 18:43:12 +0100
committerYann Herklotz <git@yannherklotz.com>2023-05-05 18:43:12 +0100
commitb68e1e078c2829fb04e4721d13432d0e82a1e0e9 (patch)
tree16c2c68657934a10bf7a7a1f6f7ada863d2499fc /src/common
parent7cf1299868eb063eaeac782f9c10406059337be3 (diff)
downloadvericert-b68e1e078c2829fb04e4721d13432d0e82a1e0e9.tar.gz
vericert-b68e1e078c2829fb04e4721d13432d0e82a1e0e9.zip
Finish forward and backward proofs for predicated proof
Diffstat (limited to 'src/common')
-rw-r--r--src/common/NonEmpty.v5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/common/NonEmpty.v b/src/common/NonEmpty.v
index 0e57cfa..762053a 100644
--- a/src/common/NonEmpty.v
+++ b/src/common/NonEmpty.v
@@ -204,3 +204,8 @@ Proof.
+ symmetry in e. destruct (a1 == a); easy.
+ destruct (a1 == a); try easy. now symmetry in e.
Qed.
+
+Inductive norepet {A : Type} : non_empty A -> Prop :=
+| norepet_singleton a : norepet (singleton a)
+| list_norepet_cons hd tl :
+ ~ In hd tl -> norepet tl -> norepet (hd ::| tl).