blob: 773c326cc50326087cf5b229b3f39817b0ea95d1 (
plain)
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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
|
(*
Example uses of X-Symbol symbols in Coq.
See README.
Trac this at http://proofgeneral.inf.ed.ac.uk/trac/ticket/313
Pierre Courtieu
$Id$
*)
Fixpoint toto (x:nat) {struct x} : nat := (* n a t should appear as |N *)
match x with
| O => O (* double arrow here *)
| S y => toto y (* double arrow here *)
end.
Lemma titi : forall x:nat,x=x. (* symbolique for-all and n at *)
Admitted.
(* X-Symbol: this previously appeared as foo'a'1_B_3 where a and B are greek.
Unicode Tokens: this doesn't happen because the regexp used to match
is matching on sequences limited by word.
Syntax table matters here: try (modify-syntax-entry ?\' ".")
(modify-syntax-entry ?\_ ".")
*)
Variable foo'alpha'1__beta__3 : Set.
Fixpoint pow (n m:nat) {struct n} : nat :=
match n with
| O => 0
| S p => m * pow p m
end.
Notation "a,{b}" := (a - b)
(at level 1, no associativity).
Notation "a^^b" := (pow a b)
(at level 1, no associativity).
Notation "a^{b}" := (pow a b)
(at level 1, no associativity).
Variable delta:nat.
(* greek delta with a sub 1 and the same with super 1 *)
Definition delta __ 1 := 0.
Definition delta __ 2 := delta^^1.
Definition delta __ 3 := delta__2^{delta}.
Parameter a b x:nat.
(* x with a+b subscripted and then superscripted *)
Definition x_a_b' := x^{a+b}.
Definition x_a_b := x,{a+b}.
Definition x_a_b'' := x,{a+b}^{a*b}.
(* no greek letter should appear on this next line! *)
Variable philosophi : Set.
(* same here *)
Variable aalpha alphaa : Set.
(* _a where a is greek *)
Variable _alpha : Set.
(* a_ where a is greek *)
Variable alpha_ : Set.
Lemma gamma__neqn : forall n__i:nat, n__i=n__i.
alpha lhd rhd lambda forall exists exists exist foral
|