-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathexemplos.v
53 lines (52 loc) · 1.75 KB
/
exemplos.v
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
43
44
45
46
47
48
49
50
51
52
53
(*File to create tests. *)
Require Import Modal_Library Deductive_System.
(* Page proof: 22 *)
Lemma Example:
T; (.[](#0 .-> #1):: .[](#1 .-> #2):: nil) |-- .[](#0 .-> #2) .
Proof.
(* Line: 16 *)
apply Nec.
(* Line: 15 *)
apply Mp with (f:=(#0 .-> #1)).
(* Line: 14 *)
- apply Mp with (f:=(#1 .-> #2)).
(* Line: 9 *)
+ apply Mp with (f:=((#1 .-> #2) .-> ((#0 .-> (#1 .-> #2))))).
(* Line: 7 *)
* apply Mp with (f:=(#1 .-> #2) .-> ((#0 .-> (#1 .-> #2)) .-> (#0 .-> #1) .-> (#0 .-> #2)) ).
(* Line: 6 *)
-- apply Ax with (a:=ax2 (#1 .-> #2) (#0 .-> (#1 .-> #2)) ((#0 .-> #1) .-> (#0 .-> #2))).
++ constructor. constructor.
++ reflexivity.
(* Line: 5 *)
-- apply Mp with (f:=(#0 .-> (#1 .-> #2)) .-> ((#0 .-> #1) .-> (#0 .-> #2))).
(* Line: 3 *)
++ apply Ax with (a:= ax1 ((#0 .-> (#1 .-> #2)) .-> ((#0 .-> #1) .-> (#0 .-> #2))) (#1 .-> #2)).
** constructor. constructor.
** reflexivity.
(* Line: 4 *)
++ apply Ax with (a:= ax2 #0 #1 #2).
** constructor; constructor.
** reflexivity.
(* Line: 8 *)
* apply Ax with (a:=ax1 (#1 .-> #2) #0).
-- constructor; constructor.
-- reflexivity.
(* Line: 11 *)
+ apply Mp with (f:=.[](#1 .-> #2)).
* apply Ax with (a:= axT (#1 .-> #2)).
-- constructor; constructor.
-- reflexivity.
(* Line: 2 *)
* apply Prem with (i:=1).
reflexivity.
(* Line: 13 *)
- apply Mp with (f:=.[](#0 .-> #1)).
(* Line: 12 *)
+ apply Ax with (a:= axT (#0 .-> #1)).
* constructor; constructor.
* reflexivity.
(* Line: 1 *)
+ apply Prem with (i:=0).
reflexivity.
Qed.