]> matita.cs.unibo.it Git - helm.git/commitdiff
New feature/bug fixed (hopefully): it is now possible to use fixed (term)
authorClaudio Sacerdoti Coen <claudio.sacerdoticoen@unibo.it>
Sat, 12 Jul 2008 11:43:21 +0000 (11:43 +0000)
committerClaudio Sacerdoti Coen <claudio.sacerdoticoen@unibo.it>
Sat, 12 Jul 2008 11:43:21 +0000 (11:43 +0000)
variables in fold bodies.
The notation for exists is now fully working as expected.

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

index 691d4426d80a40638add6815bf303bddd4781c5e..a1f9268e4edae7cd0253e70439370ee7a6412abd 100644 (file)
@@ -511,6 +511,8 @@ let head_names names env =
         (match ty, v with
         | Env.ListType ty, Env.ListValue (v :: _) ->
             aux ((name, (ty, v)) :: acc) tl
+        | Env.TermType _, Env.TermValue _  ->
+            aux ((name, (ty, v)) :: acc) tl
         | _ -> assert false)
     | _ :: tl -> aux acc tl
       (* base pattern may contain only meta names, thus we trash all others *)
@@ -524,6 +526,8 @@ let tail_names names env =
         (match ty, v with
         | Env.ListType ty, Env.ListValue (_ :: vtl) ->
             aux ((name, (Env.ListType ty, Env.ListValue vtl)) :: acc) tl
+        | Env.TermType _, Env.TermValue _  ->
+            aux ((name, (ty, v)) :: acc) tl
         | _ -> assert false)
     | binding :: tl -> aux (binding :: acc) tl
     | [] -> acc
index c7f1e5021718e911d647ab2dd974cb83236c7f6c..0043825ceaf32df56b2921c88074abb7b7ac1e3b 100644 (file)
@@ -7,7 +7,10 @@ for @{ 'exists ${default
 (* Bugged notation: $T is not used if provided *)
 notation > "\exists list1 ident x sep , opt (: T). term 19 Px"
   with precedence 20
-  for ${fold right @{$Px} rec acc @{'exists (λ${ident x}.$acc)}}.
+  for ${ default
+          @{ ${ fold right @{$Px} rec acc @{'exists (λ${ident x}:$T.$acc)} } }
+          @{ ${ fold right @{$Px} rec acc @{'exists (λ${ident x}.$acc)} } }
+       }.
 
 notation "hvbox(\langle term 19 a, break term 19 b\rangle)" 
 with precedence 90 for @{ 'pair $a $b}.