lib/Tools/update_theorems
author wenzelm
Tue, 06 Oct 2015 15:14:28 +0200
changeset 61337 4645502c3c64
child 62450 2154f709fc25
permissions -rwxr-xr-x
fewer aliases for toplevel theorem statements;
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
61337
4645502c3c64 fewer aliases for toplevel theorem statements;
wenzelm
parents:
diff changeset
     1
#!/usr/bin/env bash
4645502c3c64 fewer aliases for toplevel theorem statements;
wenzelm
parents:
diff changeset
     2
#
4645502c3c64 fewer aliases for toplevel theorem statements;
wenzelm
parents:
diff changeset
     3
# Author: Makarius
4645502c3c64 fewer aliases for toplevel theorem statements;
wenzelm
parents:
diff changeset
     4
#
4645502c3c64 fewer aliases for toplevel theorem statements;
wenzelm
parents:
diff changeset
     5
# DESCRIPTION: update toplevel theorem keywords
4645502c3c64 fewer aliases for toplevel theorem statements;
wenzelm
parents:
diff changeset
     6
4645502c3c64 fewer aliases for toplevel theorem statements;
wenzelm
parents:
diff changeset
     7
4645502c3c64 fewer aliases for toplevel theorem statements;
wenzelm
parents:
diff changeset
     8
## diagnostics
4645502c3c64 fewer aliases for toplevel theorem statements;
wenzelm
parents:
diff changeset
     9
4645502c3c64 fewer aliases for toplevel theorem statements;
wenzelm
parents:
diff changeset
    10
PRG="$(basename "$0")"
4645502c3c64 fewer aliases for toplevel theorem statements;
wenzelm
parents:
diff changeset
    11
4645502c3c64 fewer aliases for toplevel theorem statements;
wenzelm
parents:
diff changeset
    12
function usage()
4645502c3c64 fewer aliases for toplevel theorem statements;
wenzelm
parents:
diff changeset
    13
{
4645502c3c64 fewer aliases for toplevel theorem statements;
wenzelm
parents:
diff changeset
    14
  echo
4645502c3c64 fewer aliases for toplevel theorem statements;
wenzelm
parents:
diff changeset
    15
  echo "Usage: isabelle $PRG [FILES|DIRS...]"
4645502c3c64 fewer aliases for toplevel theorem statements;
wenzelm
parents:
diff changeset
    16
  echo
4645502c3c64 fewer aliases for toplevel theorem statements;
wenzelm
parents:
diff changeset
    17
  echo "  Recursively find .thy files and update toplevel theorem keywords:"
4645502c3c64 fewer aliases for toplevel theorem statements;
wenzelm
parents:
diff changeset
    18
  echo
4645502c3c64 fewer aliases for toplevel theorem statements;
wenzelm
parents:
diff changeset
    19
  echo "    theorems             ~>  lemmas"
4645502c3c64 fewer aliases for toplevel theorem statements;
wenzelm
parents:
diff changeset
    20
  echo "    schematic_theorem    ~>  schematic_goal"
4645502c3c64 fewer aliases for toplevel theorem statements;
wenzelm
parents:
diff changeset
    21
  echo "    schematic_lemma      ~>  schematic_goal"
4645502c3c64 fewer aliases for toplevel theorem statements;
wenzelm
parents:
diff changeset
    22
  echo "    schematic_corollary  ~>  schematic_goal"
4645502c3c64 fewer aliases for toplevel theorem statements;
wenzelm
parents:
diff changeset
    23
  echo
4645502c3c64 fewer aliases for toplevel theorem statements;
wenzelm
parents:
diff changeset
    24
  echo "  Old versions of files are preserved by appending \"~~\"."
4645502c3c64 fewer aliases for toplevel theorem statements;
wenzelm
parents:
diff changeset
    25
  echo
4645502c3c64 fewer aliases for toplevel theorem statements;
wenzelm
parents:
diff changeset
    26
  exit 1
4645502c3c64 fewer aliases for toplevel theorem statements;
wenzelm
parents:
diff changeset
    27
}
4645502c3c64 fewer aliases for toplevel theorem statements;
wenzelm
parents:
diff changeset
    28
4645502c3c64 fewer aliases for toplevel theorem statements;
wenzelm
parents:
diff changeset
    29
4645502c3c64 fewer aliases for toplevel theorem statements;
wenzelm
parents:
diff changeset
    30
## process command line
4645502c3c64 fewer aliases for toplevel theorem statements;
wenzelm
parents:
diff changeset
    31
4645502c3c64 fewer aliases for toplevel theorem statements;
wenzelm
parents:
diff changeset
    32
[ "$#" -eq 0 -o "$1" = "-?" ] && usage
4645502c3c64 fewer aliases for toplevel theorem statements;
wenzelm
parents:
diff changeset
    33
4645502c3c64 fewer aliases for toplevel theorem statements;
wenzelm
parents:
diff changeset
    34
SPECS="$@"; shift "$#"
4645502c3c64 fewer aliases for toplevel theorem statements;
wenzelm
parents:
diff changeset
    35
4645502c3c64 fewer aliases for toplevel theorem statements;
wenzelm
parents:
diff changeset
    36
4645502c3c64 fewer aliases for toplevel theorem statements;
wenzelm
parents:
diff changeset
    37
## main
4645502c3c64 fewer aliases for toplevel theorem statements;
wenzelm
parents:
diff changeset
    38
4645502c3c64 fewer aliases for toplevel theorem statements;
wenzelm
parents:
diff changeset
    39
find $SPECS -name \*.thy -print0 | \
4645502c3c64 fewer aliases for toplevel theorem statements;
wenzelm
parents:
diff changeset
    40
  xargs -0 "$ISABELLE_TOOL" java isabelle.Update_Theorems