diff options
| author | Brian Campbell | 2019-10-02 11:40:38 +0100 |
|---|---|---|
| committer | Brian Campbell | 2019-10-02 11:40:38 +0100 |
| commit | 2d1051cc4a1dfdd1a55e2df6ba331d7f1954bb61 (patch) | |
| tree | 4759209764c97513dae4289b15221e006a362a3d /lib | |
| parent | 4bcdbbeff7926b2aac798d0c154ec6fcd64544c4 (diff) | |
Coq: limited support for existentially-typed tuples
- in particular at monadic interfaces (i.e., sufficient for instruction
ast types)
- see commented out part of test/coq/pass/ast_with_dep_tuple.sail for an
example that's not currently supported
- generate definitions for type-level Bool definitions (i.e., predicates)
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/coq/Sail2_values.v | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/lib/coq/Sail2_values.v b/lib/coq/Sail2_values.v index 3b5b9675..5bc630e5 100644 --- a/lib/coq/Sail2_values.v +++ b/lib/coq/Sail2_values.v @@ -46,6 +46,8 @@ End Morphism. Definition build_ex {T:Type} (n:T) {P:T -> Prop} `{H:ArithFact (P n)} : {x : T & ArithFact (P x)} := existT _ n H. +Definition build_ex2 {T:Type} {T':T -> Type} (n:T) (m:T' n) {P:T -> Prop} `{H:ArithFact (P n)} : {x : T & T' x & ArithFact (P x)} := + existT2 _ _ n m H. Definition generic_eq {T:Type} (x y:T) `{Decidable (x = y)} := Decidable_witness. Definition generic_neq {T:Type} (x y:T) `{Decidable (x = y)} := negb Decidable_witness. |
