Changes by: Alexei Kopylov (kopylov at cs.caltech.edu)
Date: 2002-05-17 17:18:33 -0700 (Fri, 17 May 2002)
Revision: 3663
Log message:

      Extend grammar.
      
      1. Now keywords "in" and "IN" are interchangeable.
      So you may write <<'a in 'T>> instead of <<'a IN 'T>>.
      
      2. You may write 'a='b and 'a<>'b for equal{'a;'b} and nequal{'a;'b}
      correspondingly in theories where such terms are defined.
      For example equal{'a;'b} is defined in czf_itt_eq.
      
      Question to Xin and Jason:
      The czf_itt_eq theory defines two terms for equality: eq and equal.
      Which of them do you think will be more usable?
      If eq is more usable, then it is probably better to define 'a='b as eq{'a;'b}.
      
      3. Added some CZF operators to the parser:
      
        'a In 'b
        all x In 'S. 'P['x]
        all x . 'P['x]
        exst x In 'S. 'P['x]
        exst x . 'P['x]
      
      Question (mainly to Xin and Jason): 'a In 'b is probably not the best shortcut for the set theory membership.
      Other possibilities are  sin, ins, in_s, mem, member.
      Do you have any preference?
      
      4. Now all variables may be words or strings. E.g. yo may write <<all "x^2".'P['"x^2"]>>.
      (Previously in some places variables might be strings, in other places they had to be words)
      

Changes  Path
+41 -25 metaprl/filter/base/term_grammar.ml