]> matita.cs.unibo.it Git - helm.git/commitdiff
Exists is no longer an ad-hoc notation hard-coded in the parser.
authorClaudio Sacerdoti Coen <claudio.sacerdoticoen@unibo.it>
Fri, 11 Jul 2008 16:49:18 +0000 (16:49 +0000)
committerClaudio Sacerdoti Coen <claudio.sacerdoticoen@unibo.it>
Fri, 11 Jul 2008 16:49:18 +0000 (16:49 +0000)
It was so becauses it was previously impossible to declare a notation that
changed the level of its subterms.

helm/software/components/content_pres/cicNotationParser.ml
helm/software/matita/core_notation.moo

index aca53578b1fb9c7ca0beff072d14c2e7dbcaacf4..d7da2ff822d27f46a817820a11db23caf6ccd888 100644 (file)
@@ -550,7 +550,6 @@ EXTEND
   ];
   binder: [
     [ SYMBOL <:unicode<Pi>>     (* Π *) -> `Pi
-(*     | SYMBOL <:unicode<exists>> |+ ∃ +| -> `Exists *)
     | SYMBOL <:unicode<forall>> (* ∀ *) -> `Forall
     | SYMBOL <:unicode<lambda>> (* λ *) -> `Lambda
     ]
@@ -649,9 +648,6 @@ EXTEND
     [
       [ b = binder; (vars, typ) = maybe_protected_binder_vars; SYMBOL "."; body = term LEVEL "19" ->
           return_term loc (fold_cluster b vars typ body)
-      | SYMBOL <:unicode<exists>> (* ∃ *);
-        (vars, typ) = maybe_protected_binder_vars; SYMBOL "."; body = term LEVEL "19"->
-          return_term loc (fold_exists vars typ body)
       ]
     ];
   term: LEVEL "70"
index 9055293175f66328f4719569dfa7d1c142ecdc74..2ea6f331d270e15803a02728706e542e8b38dba3 100644 (file)
@@ -4,6 +4,10 @@ for @{ 'exists ${default
   @{\lambda ${ident i} : $ty. $p}
   @{\lambda ${ident i} . $p}}}.
 
+notation > "\exists ident x:A.break term 19 Px" with precedence 20 for @{ 'exists (λ${ident x}:$A.$Px) }.
+
+notation > "\exists ident x.break term 19 Px" with precedence 20 for @{ 'exists (λ${ident x}.$Px) }.
+
 notation "hvbox(\langle term 19 a, break term 19 b\rangle)" 
 with precedence 90 for @{ 'pair $a $b}.