more compact XML;
authorwenzelm
Sat, 12 Oct 2019 15:01:13 +0200
changeset 70844 f95a85446a24
parent 70843 cc987440d776
child 70845 8e51ea8d4609
more compact XML;
src/Pure/proofterm.ML
src/Pure/term_xml.ML
src/Pure/term_xml.scala
--- a/src/Pure/proofterm.ML	Sat Oct 12 13:43:17 2019 +0200
+++ b/src/Pure/proofterm.ML	Sat Oct 12 15:01:13 2019 +0200
@@ -333,7 +333,7 @@
 
 fun proof consts prf = prf |> variant
  [fn MinProof => ([], []),
-  fn PBound a => ([int_atom a], []),
+  fn PBound a => ([], int a),
   fn Abst (a, b, c) => ([a], pair (option typ) (proof consts) (b, c)),
   fn AbsP (a, b, c) => ([a], pair (option (term consts)) (proof consts) (b, c)),
   fn a % b => ([], pair (proof consts) (option (term consts)) (a, b)),
@@ -358,13 +358,13 @@
  [fn Const (a, b) => ([a], list typ (Consts.typargs consts (a, b))),
   fn Free (a, _) => ([a], []),
   fn Var (a, _) => (indexname a, []),
-  fn Bound a => ([int_atom a], []),
+  fn Bound a => ([], int a),
   fn Abs (a, b, c) => ([a], pair typ (standard_term consts) (b, c)),
   fn op $ a => ([], pair (standard_term consts) (standard_term consts) a)];
 
 fun standard_proof consts prf = prf |> variant
  [fn MinProof => ([], []),
-  fn PBound a => ([int_atom a], []),
+  fn PBound a => ([], int a),
   fn Abst (a, SOME b, c) => ([a], pair typ (standard_proof consts) (b, c)),
   fn AbsP (a, SOME b, c) => ([a], pair (standard_term consts) (standard_proof consts) (b, c)),
   fn a % SOME b => ([], pair (standard_proof consts) (standard_term consts) (a, b)),
@@ -394,7 +394,7 @@
 
 fun proof consts prf = prf |> variant
  [fn ([], []) => MinProof,
-  fn ([a], []) => PBound (int_atom a),
+  fn ([], a) => PBound (int a),
   fn ([a], b) => let val (c, d) = pair (option typ) (proof consts) b in Abst (a, c, d) end,
   fn ([a], b) => let val (c, d) = pair (option (term consts)) (proof consts) b in AbsP (a, c, d) end,
   fn ([], a) => op % (pair (proof consts) (option (term consts)) a),
--- a/src/Pure/term_xml.ML	Sat Oct 12 13:43:17 2019 +0200
+++ b/src/Pure/term_xml.ML	Sat Oct 12 15:01:13 2019 +0200
@@ -43,7 +43,7 @@
  [fn Const (a, b) => ([a], typ b),
   fn Free (a, b) => ([a], typ b),
   fn Var (a, b) => (indexname a, typ b),
-  fn Bound a => ([int_atom a], []),
+  fn Bound a => ([], int a),
   fn Abs (a, b, c) => ([a], pair typ term_raw (b, c)),
   fn op $ a => ([], pair term_raw term_raw a)];
 
@@ -53,7 +53,7 @@
  [fn Const (a, b) => ([a], list typ (Consts.typargs consts (a, b))),
   fn Free (a, b) => ([a], typ_body b),
   fn Var (a, b) => (indexname a, typ_body b),
-  fn Bound a => ([int_atom a], []),
+  fn Bound a => ([], int a),
   fn Abs (a, b, c) => ([a], pair typ (term consts) (b, c)),
   fn op $ a => ([], pair (term consts) (term consts) a)];
 
@@ -78,7 +78,7 @@
  [fn ([a], b) => Const (a, typ b),
   fn ([a], b) => Free (a, typ b),
   fn (a, b) => Var (indexname a, typ b),
-  fn ([a], []) => Bound (int_atom a),
+  fn ([], a) => Bound (int a),
   fn ([a], b) => let val (c, d) = pair typ term_raw b in Abs (a, c, d) end,
   fn ([], a) => op $ (pair term_raw term_raw a)];
 
@@ -89,7 +89,7 @@
  [fn ([a], b) => Const (a, Consts.instance consts (a, list typ b)),
   fn ([a], b) => Free (a, typ_body b),
   fn (a, b) => Var (indexname a, typ_body b),
-  fn ([a], []) => Bound (int_atom a),
+  fn ([], a) => Bound (int a),
   fn ([a], b) => let val (c, d) = pair typ (term consts) b in Abs (a, c, d) end,
   fn ([], a) => op $ (pair (term consts) (term consts) a)];
 
--- a/src/Pure/term_xml.scala	Sat Oct 12 13:43:17 2019 +0200
+++ b/src/Pure/term_xml.scala	Sat Oct 12 15:01:13 2019 +0200
@@ -34,7 +34,7 @@
         { case Const(a, b) => (List(a), list(typ)(b)) },
         { case Free(a, b) => (List(a), typ_body(b)) },
         { case Var(a, b) => (indexname(a), typ_body(b)) },
-        { case Bound(a) => (List(int_atom(a)), Nil) },
+        { case Bound(a) => (Nil, int(a)) },
         { case Abs(a, b, c) => (List(a), pair(typ, term)(b, c)) },
         { case App(a, b) => (Nil, pair(term, term)(a, b)) }))
   }
@@ -62,7 +62,7 @@
         { case (List(a), b) => Const(a, list(typ)(b)) },
         { case (List(a), b) => Free(a, typ_body(b)) },
         { case (a, b) => Var(indexname(a), typ_body(b)) },
-        { case (List(a), Nil) => Bound(int_atom(a)) },
+        { case (Nil, a) => Bound(int(a)) },
         { case (List(a), b) => val (c, d) = pair(typ, term)(b); Abs(a, c, d) },
         { case (Nil, a) => val (b, c) = pair(term, term)(a); App(b, c) }))
 
@@ -76,7 +76,7 @@
           { case (List(a), b) => Const(a, list(typ)(b)) },
           { case (List(a), b) => Free(a, env_type(a, typ_body(b))) },
           { case (a, b) => Var(indexname(a), typ_body(b)) },
-          { case (List(a), Nil) => Bound(int_atom(a)) },
+          { case (Nil, a) => Bound(int(a)) },
           { case (List(a), b) => val (c, d) = pair(typ, term)(b); Abs(a, c, d) },
           { case (Nil, a) => val (b, c) = pair(term, term)(a); App(b, c) }))
       term
@@ -88,7 +88,7 @@
       def proof: T[Proof] =
         variant[Proof](List(
           { case (Nil, Nil) => MinProof },
-          { case (List(a), Nil) => PBound(int_atom(a)) },
+          { case (Nil, a) => PBound(int(a)) },
           { case (List(a), b) => val (c, d) = pair(typ, proof)(b); Abst(a, c, d) },
           { case (List(a), b) => val (c, d) = pair(term, proof)(b); AbsP(a, c, d) },
           { case (Nil, a) => val (b, c) = pair(proof, term)(a); Appt(b, c) },