File: bug_15814.v

package info (click to toggle)
coq 8.20.1%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 44,116 kB
  • sloc: ml: 234,160; sh: 4,301; python: 3,270; ansic: 2,644; makefile: 882; lisp: 172; javascript: 63; xml: 24; sed: 2
file content (42 lines) | stat: -rw-r--r-- 726 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
Module ExternRewrite.

Parameter a b c : unit.
Parameter P : unit -> Prop.
Axiom Eac : a = c.
Axiom (Pab : P a -> P b).

Ltac Xtac :=
  match goal with
  | [ H : (True -> P a) |- _  ] => rewrite Eac in H
  end.

Create HintDb db.
#[local] Hint Resolve Pab : db.
#[local] Hint Extern 0 => Xtac : db.

Goal True -> (True -> P a) -> P b.
Proof.
  auto with db nocore.
Qed.

End ExternRewrite.

Module ExternClear.

Parameter P Q R : Prop.
Axiom (HQR : Q -> R).
Axiom (HP : P).

Ltac Xtac := match goal with [H : _ |- _] => clear H end.

Create HintDb db.
#[local] Hint Resolve HQR : db.
#[local] Hint Resolve HP : db.
#[local] Hint Extern 0 => Xtac : db.

Goal (P -> Q) -> R.
Proof.
  auto with db nocore.
Qed.

End ExternClear.