aboutsummaryrefslogtreecommitdiffstats
path: root/unit-tests
diff options
context:
space:
mode:
authorckeller <ckeller@users.noreply.github.com>2021-01-05 17:49:50 +0100
committerGitHub <noreply@github.com>2021-01-05 17:49:50 +0100
commit09117dcb494ed47828ee658b9c72ad83c880a438 (patch)
tree4d0eb85832fcf2d2c73cbfa23203549bef185010 /unit-tests
parent73c49626476ed7ae4313f92431a9dea0b4eeb51d (diff)
downloadsmtcoq-09117dcb494ed47828ee658b9c72ad83c880a438.tar.gz
smtcoq-09117dcb494ed47828ee658b9c72ad83c880a438.zip
Reify polymorphic terms
A polymorphic term is now reified as a whole of the term applied to one or many types. The same polymorphic term applied to different types is reified as different monomorphic terms.
Diffstat (limited to 'unit-tests')
-rw-r--r--unit-tests/Tests_verit_tactics.v10
1 files changed, 10 insertions, 0 deletions
diff --git a/unit-tests/Tests_verit_tactics.v b/unit-tests/Tests_verit_tactics.v
index 896c1bf..da7cb5a 100644
--- a/unit-tests/Tests_verit_tactics.v
+++ b/unit-tests/Tests_verit_tactics.v
@@ -994,3 +994,13 @@ Proof using.
intros.
verit.
Qed.
+
+
+Section Polymorphism.
+ Goal forall (f : option Z -> Z) (a b : Z),
+ implb (Z.eqb a b) (Z.eqb (f (Some a)) (f (Some b))).
+ Proof. verit. auto with typeclass_instances. Qed.
+
+ Goal forall (f : option Z -> Z) (a b : Z), a = b -> f (Some a) = f (Some b).
+ Proof. verit. auto with typeclass_instances. Qed.
+End Polymorphism.