aboutsummaryrefslogtreecommitdiff
path: root/test-suite
diff options
context:
space:
mode:
authorVincent Laporte2018-11-15 09:21:17 +0000
committerVincent Laporte2018-11-15 09:21:17 +0000
commitb6f65c72cce697d7acc11f731983a8c18f497d10 (patch)
treed7d917212b94e4ef09fb40ac66c0219b03a89d76 /test-suite
parent9896b66fabdb1dacafb71887b85facefa91845e7 (diff)
parent0d2594da361eb939a14e4917852389a19e1e2ba0 (diff)
Merge PR #8955: [ssr] "case/elim: p" don't resolve TC in "p"
Diffstat (limited to 'test-suite')
-rw-r--r--test-suite/ssr/case_TC.v18
-rw-r--r--test-suite/ssr/case_TC2.v20
-rw-r--r--test-suite/ssr/case_TC3.v21
3 files changed, 59 insertions, 0 deletions
diff --git a/test-suite/ssr/case_TC.v b/test-suite/ssr/case_TC.v
new file mode 100644
index 0000000000..78ed374432
--- /dev/null
+++ b/test-suite/ssr/case_TC.v
@@ -0,0 +1,18 @@
+From Coq Require Import ssreflect.
+From Coq Require Import ssrbool.
+
+Set Printing All.
+Set Debug Ssreflect.
+
+Class Class := { sort : Type ; op : sort -> bool }.
+Coercion sort : Class >-> Sortclass.
+Arguments op [_] _.
+
+Section Section.
+ Context (A B: Class) (a: A).
+
+ Goal op a || ~~ op a.
+ by case: op.
+ Abort.
+
+End Section.
diff --git a/test-suite/ssr/case_TC2.v b/test-suite/ssr/case_TC2.v
new file mode 100644
index 0000000000..37504d662d
--- /dev/null
+++ b/test-suite/ssr/case_TC2.v
@@ -0,0 +1,20 @@
+From Coq Require Import Bool ssreflect.
+
+Set Printing All.
+Set Debug Ssreflect.
+
+Class Class := { sort : Type ; op : sort -> bool }.
+Coercion sort : Class >-> Sortclass.
+Arguments op [_] _.
+
+Lemma opP (A: Class) (a: A) : reflect True (op a).
+Proof. Admitted.
+
+Section Section.
+ Context (A B: Class) (a: A).
+
+ Goal is_true (op a).
+ by case: opP.
+ Abort.
+
+End Section.
diff --git a/test-suite/ssr/case_TC3.v b/test-suite/ssr/case_TC3.v
new file mode 100644
index 0000000000..92e166e85d
--- /dev/null
+++ b/test-suite/ssr/case_TC3.v
@@ -0,0 +1,21 @@
+From Coq Require Import Utf8 Bool ssreflect.
+
+Set Printing All.
+Set Debug Ssreflect.
+
+Class Class sort := { op : sort → bool }.
+Arguments op {_ _}.
+Hint Mode Class !.
+
+Lemma opP A (C: Class A) (a: A) : reflect True (op a).
+Proof. Admitted.
+Arguments op {_ _}.
+
+Section Section.
+ Context A B (CA : Class A) (CB : Class B) (a: A).
+
+ Goal is_true (op a).
+ by case: opP.
+ Abort.
+
+End Section.