src/HOL/Import/HOL4/Generated/HOL4Base.thy
author boehmes
Tue, 27 Mar 2012 17:11:02 +0200
changeset 47155 ade3fc826af3
parent 46796 81e5ec0a3cd0
permissions -rw-r--r--
dropped support for List.distinct in binding to SMT solvers: only few applications benefited from this support, and in some cases the smt method fails due to its support for List.distinct
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
15647
b1f486a9c56b Updated import configuration.
skalberg
parents: 14847
diff changeset
     1
(* AUTOMATICALLY GENERATED, DO NOT EDIT! *)
b1f486a9c56b Updated import configuration.
skalberg
parents: 14847
diff changeset
     2
46787
3d3d8f8929a7 file system structure separating HOL4 and HOL Light concerns
haftmann
parents: 46780
diff changeset
     3
theory HOL4Base
46796
81e5ec0a3cd0 one unified Importer theory
haftmann
parents: 46787
diff changeset
     4
imports "../../Importer" "../Compatibility"
46787
3d3d8f8929a7 file system structure separating HOL4 and HOL Light concerns
haftmann
parents: 46780
diff changeset
     5
begin
3d3d8f8929a7 file system structure separating HOL4 and HOL Light concerns
haftmann
parents: 46780
diff changeset
     6
3d3d8f8929a7 file system structure separating HOL4 and HOL Light concerns
haftmann
parents: 46780
diff changeset
     7
setup_theory "~~/src/HOL/Import/HOL4/Generated" bool
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
     8
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
     9
definition
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
    10
  ARB :: "'a"  where
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
    11
  "ARB == SOME x. True"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
    12
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
    13
lemma ARB_DEF: "ARB = (SOME x. True)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
    14
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
    15
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
    16
definition
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
    17
  IN :: "'a => ('a => bool) => bool"  where
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
    18
  "IN == %x f. f x"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
    19
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
    20
lemma IN_DEF: "IN = (%x f. f x)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
    21
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
    22
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
    23
definition
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
    24
  RES_FORALL :: "('a => bool) => ('a => bool) => bool"  where
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
    25
  "RES_FORALL == %p m. ALL x. IN x p --> m x"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
    26
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
    27
lemma RES_FORALL_DEF: "RES_FORALL = (%p m. ALL x. IN x p --> m x)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
    28
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
    29
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
    30
definition
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
    31
  RES_EXISTS :: "('a => bool) => ('a => bool) => bool"  where
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
    32
  "RES_EXISTS == %p m. EX x. IN x p & m x"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
    33
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
    34
lemma RES_EXISTS_DEF: "RES_EXISTS = (%p m. EX x. IN x p & m x)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
    35
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
    36
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
    37
definition
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
    38
  RES_EXISTS_UNIQUE :: "('a => bool) => ('a => bool) => bool"  where
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
    39
  "RES_EXISTS_UNIQUE ==
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
    40
%p m. RES_EXISTS p m &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
    41
      RES_FORALL p (%x. RES_FORALL p (%y. m x & m y --> x = y))"
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
    42
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
    43
lemma RES_EXISTS_UNIQUE_DEF: "RES_EXISTS_UNIQUE =
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
    44
(%p m. RES_EXISTS p m &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
    45
       RES_FORALL p (%x. RES_FORALL p (%y. m x & m y --> x = y)))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
    46
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
    47
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
    48
definition
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
    49
  RES_SELECT :: "('a => bool) => ('a => bool) => 'a"  where
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
    50
  "RES_SELECT == %p m. SOME x. IN x p & m x"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
    51
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
    52
lemma RES_SELECT_DEF: "RES_SELECT = (%p m. SOME x. IN x p & m x)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
    53
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
    54
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
    55
lemma EXCLUDED_MIDDLE: "t | ~ t"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
    56
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
    57
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
    58
lemma FORALL_THM: "All f = All f"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
    59
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
    60
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
    61
lemma EXISTS_THM: "Ex f = Ex f"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
    62
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
    63
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
    64
lemma F_IMP: "[| ~ t; t |] ==> False"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
    65
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
    66
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
    67
lemma NOT_AND: "~ (t & ~ t)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
    68
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
    69
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
    70
lemma AND_CLAUSES: "(True & t) = t &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
    71
(t & True) = t & (False & t) = False & (t & False) = False & (t & t) = t"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
    72
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
    73
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
    74
lemma OR_CLAUSES: "(True | t) = True &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
    75
(t | True) = True & (False | t) = t & (t | False) = t & (t | t) = t"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
    76
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
    77
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
    78
lemma IMP_CLAUSES: "(True --> t) = t &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
    79
(t --> True) = True &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
    80
(False --> t) = True & (t --> t) = True & (t --> False) = (~ t)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
    81
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
    82
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
    83
lemma NOT_CLAUSES: "(ALL t. (~ ~ t) = t) & (~ True) = False & (~ False) = True"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
    84
  sorry
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
    85
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
    86
lemma BOOL_EQ_DISTINCT: "True ~= False & False ~= True"
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
    87
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
    88
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
    89
lemma EQ_CLAUSES: "(True = t) = t & (t = True) = t & (False = t) = (~ t) & (t = False) = (~ t)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
    90
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
    91
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
    92
lemma COND_CLAUSES: "(if True then t1 else t2) = t1 & (if False then t1 else t2) = t2"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
    93
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
    94
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
    95
lemma SELECT_UNIQUE: "(!!y. P y = (y = x)) ==> Eps P = x"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
    96
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
    97
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
    98
lemma BOTH_EXISTS_AND_THM: "(EX x::'a. (P::bool) & (Q::bool)) = ((EX x::'a. P) & (EX x::'a. Q))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
    99
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   100
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   101
lemma BOTH_FORALL_OR_THM: "(ALL x::'a. (P::bool) | (Q::bool)) = ((ALL x::'a. P) | (ALL x::'a. Q))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   102
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   103
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   104
lemma BOTH_FORALL_IMP_THM: "(ALL x::'a. (P::bool) --> (Q::bool)) = ((EX x::'a. P) --> (ALL x::'a. Q))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   105
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   106
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   107
lemma BOTH_EXISTS_IMP_THM: "(EX x::'a. (P::bool) --> (Q::bool)) = ((ALL x::'a. P) --> (EX x::'a. Q))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   108
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   109
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   110
lemma OR_IMP_THM: "(A = (B | A)) = (B --> A)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   111
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   112
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   113
lemma DE_MORGAN_THM: "(~ (A & B)) = (~ A | ~ B) & (~ (A | B)) = (~ A & ~ B)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   114
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   115
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   116
lemma IMP_F_EQ_F: "(t --> False) = (t = False)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   117
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   118
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   119
lemma COND_RATOR: "(if b::bool then f::'a => 'b else (g::'a => 'b)) (x::'a) =
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   120
(if b then f x else g x)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   121
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   122
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   123
lemma COND_ABS: "(%x. if b then f x else g x) = (if b then f else g)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   124
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   125
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   126
lemma COND_EXPAND: "(if b then t1 else t2) = ((~ b | t1) & (b | t2))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   127
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   128
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   129
lemma ONE_ONE_THM: "inj f = (ALL x1 x2. f x1 = f x2 --> x1 = x2)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   130
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   131
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   132
lemma ABS_REP_THM: "(op ==>::prop => prop => prop)
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   133
 ((Trueprop::bool => prop)
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   134
   ((Ex::(('b::type => 'a::type) => bool) => bool)
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   135
     ((TYPE_DEFINITION::('a::type => bool)
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   136
                        => ('b::type => 'a::type) => bool)
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   137
       (P::'a::type => bool))))
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   138
 ((Trueprop::bool => prop)
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   139
   ((Ex::(('b::type => 'a::type) => bool) => bool)
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   140
     (%x::'b::type => 'a::type.
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   141
         (Ex::(('a::type => 'b::type) => bool) => bool)
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   142
          (%abs::'a::type => 'b::type.
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   143
              (op &::bool => bool => bool)
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   144
               ((All::('b::type => bool) => bool)
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   145
                 (%a::'b::type.
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   146
                     (op =::'b::type => 'b::type => bool) (abs (x a)) a))
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   147
               ((All::('a::type => bool) => bool)
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   148
                 (%r::'a::type.
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   149
                     (op =::bool => bool => bool) (P r)
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   150
                      ((op =::'a::type => 'a::type => bool) (x (abs r))
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   151
                        r)))))))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   152
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   153
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   154
lemma LET_RAND: "(P::'b => bool) (Let (M::'a) (N::'a => 'b)) = (let x::'a = M in P (N x))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   155
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   156
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   157
lemma LET_RATOR: "Let (M::'a) (N::'a => 'b => 'c) (b::'b) = (let x::'a = M in N x b)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   158
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   159
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   160
lemma AND_CONG: "(Q --> P = P') & (P' --> Q = Q') ==> (P & Q) = (P' & Q')"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   161
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   162
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   163
lemma OR_CONG: "(~ Q --> P = P') & (~ P' --> Q = Q') ==> (P | Q) = (P' | Q')"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   164
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   165
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   166
lemma COND_CONG: "P = Q & (Q --> x = x') & (~ Q --> y = y')
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   167
==> (if P then x else y) = (if Q then x' else y')"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   168
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   169
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   170
lemma MONO_COND: "[| x ==> y; z ==> w; if b then x else z |] ==> if b then y else w"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   171
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   172
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   173
lemma SKOLEM_THM: "(ALL x. Ex (P x)) = (EX f. ALL x. P x (f x))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   174
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   175
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   176
lemma bool_case_thm: "(ALL (e0::'a) e1::'a. (case True of True => e0 | False => e1) = e0) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   177
(ALL (e0::'a) e1::'a. (case False of True => e0 | False => e1) = e1)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   178
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   179
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   180
lemma bool_case_ID: "(case b of True => x | _ => x) = x"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   181
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   182
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   183
lemma boolAxiom: "EX x. x True = e0 & x False = e1"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   184
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   185
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   186
lemma UEXISTS_OR_THM: "EX! x. P x | Q x ==> Ex1 P | Ex1 Q"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   187
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   188
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   189
lemma UEXISTS_SIMP: "(EX! x::'a. (t::bool)) = (t & (ALL x::'a. All (op = x)))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   190
  sorry
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
   191
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
   192
consts
17652
b1ef33ebfa17 Release HOL4 and HOLLight Importer.
obua
parents: 17644
diff changeset
   193
  RES_ABSTRACT :: "('a => bool) => ('a => 'b) => 'a => 'b" 
17644
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
   194
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   195
specification (RES_ABSTRACT) RES_ABSTRACT_DEF: "(ALL (p::'a => bool) (m::'a => 'b) x::'a.
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
   196
    IN x p --> RES_ABSTRACT p m x = m x) &
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   197
(ALL (p::'a => bool) (m1::'a => 'b) m2::'a => 'b.
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   198
    (ALL x::'a. IN x p --> m1 x = m2 x) -->
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
   199
    RES_ABSTRACT p m1 = RES_ABSTRACT p m2)"
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   200
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   201
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   202
lemma BOOL_FUN_CASES_THM: "f = (%b. True) | f = (%b. False) | f = (%b. b) | f = Not"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   203
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   204
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   205
lemma BOOL_FUN_INDUCT: "P (%b. True) & P (%b. False) & P (%b. b) & P Not ==> P x"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   206
  sorry
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
   207
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
   208
;end_setup
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
   209
46787
3d3d8f8929a7 file system structure separating HOL4 and HOL Light concerns
haftmann
parents: 46780
diff changeset
   210
setup_theory "~~/src/HOL/Import/HOL4/Generated" combin
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
   211
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   212
definition
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   213
  K :: "'a => 'b => 'a"  where
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   214
  "K == %x y. x"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   215
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   216
lemma K_DEF: "K = (%x y. x)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   217
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   218
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   219
definition
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   220
  S :: "('a => 'b => 'c) => ('a => 'b) => 'a => 'c"  where
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   221
  "S == %f g x. f x (g x)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   222
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   223
lemma S_DEF: "S = (%f g x. f x (g x))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   224
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   225
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   226
definition
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   227
  I :: "'a => 'a"  where
17644
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
   228
  "(op ==::('a::type => 'a::type) => ('a::type => 'a::type) => prop)
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
   229
 (I::'a::type => 'a::type)
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
   230
 ((S::('a::type => ('a::type => 'a::type) => 'a::type)
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
   231
      => ('a::type => 'a::type => 'a::type) => 'a::type => 'a::type)
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
   232
   (K::'a::type => ('a::type => 'a::type) => 'a::type)
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
   233
   (K::'a::type => 'a::type => 'a::type))"
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
   234
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
   235
lemma I_DEF: "(op =::('a::type => 'a::type) => ('a::type => 'a::type) => bool)
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
   236
 (I::'a::type => 'a::type)
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
   237
 ((S::('a::type => ('a::type => 'a::type) => 'a::type)
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
   238
      => ('a::type => 'a::type => 'a::type) => 'a::type => 'a::type)
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
   239
   (K::'a::type => ('a::type => 'a::type) => 'a::type)
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
   240
   (K::'a::type => 'a::type => 'a::type))"
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   241
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   242
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   243
definition
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   244
  C :: "('a => 'b => 'c) => 'b => 'a => 'c"  where
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   245
  "C == %f x y. f y x"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   246
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   247
lemma C_DEF: "C = (%f x y. f y x)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   248
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   249
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   250
definition
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   251
  W :: "('a => 'a => 'b) => 'a => 'b"  where
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   252
  "W == %f x. f x x"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   253
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   254
lemma W_DEF: "W = (%f x. f x x)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   255
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   256
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   257
lemma I_THM: "I x = x"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   258
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   259
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   260
lemma I_o_ID: "I o f = f & f o I = f"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   261
  sorry
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
   262
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
   263
;end_setup
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
   264
46787
3d3d8f8929a7 file system structure separating HOL4 and HOL Light concerns
haftmann
parents: 46780
diff changeset
   265
setup_theory "~~/src/HOL/Import/HOL4/Generated" sum
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
   266
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   267
lemma ISL_OR_ISR: "ISL x | ISR x"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   268
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   269
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   270
lemma INL: "ISL x ==> Inl (OUTL x) = x"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   271
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   272
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   273
lemma INR: "ISR x ==> Inr (OUTR x) = x"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   274
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   275
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   276
lemma sum_case_cong: "(M::'b + 'c) = (M'::'b + 'c) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   277
(ALL x::'b. M' = Inl x --> (f::'b => 'a) x = (f'::'b => 'a) x) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   278
(ALL y::'c. M' = Inr y --> (g::'c => 'a) y = (g'::'c => 'a) y)
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   279
==> sum_case f g M = sum_case f' g' M'"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   280
  sorry
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
   281
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
   282
;end_setup
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
   283
46787
3d3d8f8929a7 file system structure separating HOL4 and HOL Light concerns
haftmann
parents: 46780
diff changeset
   284
setup_theory "~~/src/HOL/Import/HOL4/Generated" one
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
   285
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
   286
;end_setup
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
   287
46787
3d3d8f8929a7 file system structure separating HOL4 and HOL Light concerns
haftmann
parents: 46780
diff changeset
   288
setup_theory "~~/src/HOL/Import/HOL4/Generated" option
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
   289
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
   290
lemma option_CLAUSES: "(op &::bool => bool => bool)
17644
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
   291
 ((All::('a::type => bool) => bool)
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
   292
   (%x::'a::type.
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
   293
       (All::('a::type => bool) => bool)
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
   294
        (%y::'a::type.
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
   295
            (op =::bool => bool => bool)
17644
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
   296
             ((op =::'a::type option => 'a::type option => bool)
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   297
               ((Some::'a::type => 'a::type option) x)
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   298
               ((Some::'a::type => 'a::type option) y))
17644
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
   299
             ((op =::'a::type => 'a::type => bool) x y))))
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
   300
 ((op &::bool => bool => bool)
17644
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
   301
   ((All::('a::type => bool) => bool)
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
   302
     (%x::'a::type.
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
   303
         (op =::'a::type => 'a::type => bool)
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
   304
          ((the::'a::type option => 'a::type)
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   305
            ((Some::'a::type => 'a::type option) x))
17644
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
   306
          x))
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
   307
   ((op &::bool => bool => bool)
17644
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
   308
     ((All::('a::type => bool) => bool)
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
   309
       (%x::'a::type.
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   310
           (op ~=::'a::type option => 'a::type option => bool)
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   311
            (None::'a::type option)
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   312
            ((Some::'a::type => 'a::type option) x)))
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
   313
     ((op &::bool => bool => bool)
17644
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
   314
       ((All::('a::type => bool) => bool)
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
   315
         (%x::'a::type.
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   316
             (op ~=::'a::type option => 'a::type option => bool)
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   317
              ((Some::'a::type => 'a::type option) x)
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   318
              (None::'a::type option)))
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
   319
       ((op &::bool => bool => bool)
17644
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
   320
         ((All::('a::type => bool) => bool)
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
   321
           (%x::'a::type.
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
   322
               (op =::bool => bool => bool)
17644
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
   323
                ((IS_SOME::'a::type option => bool)
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   324
                  ((Some::'a::type => 'a::type option) x))
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
   325
                (True::bool)))
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
   326
         ((op &::bool => bool => bool)
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
   327
           ((op =::bool => bool => bool)
17644
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
   328
             ((IS_SOME::'a::type option => bool) (None::'a::type option))
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
   329
             (False::bool))
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
   330
           ((op &::bool => bool => bool)
17644
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
   331
             ((All::('a::type option => bool) => bool)
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
   332
               (%x::'a::type option.
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
   333
                   (op =::bool => bool => bool)
17644
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
   334
                    ((IS_NONE::'a::type option => bool) x)
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
   335
                    ((op =::'a::type option => 'a::type option => bool) x
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
   336
                      (None::'a::type option))))
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
   337
             ((op &::bool => bool => bool)
17644
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
   338
               ((All::('a::type option => bool) => bool)
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
   339
                 (%x::'a::type option.
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
   340
                     (op =::bool => bool => bool)
17644
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
   341
                      ((Not::bool => bool)
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
   342
                        ((IS_SOME::'a::type option => bool) x))
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
   343
                      ((op =::'a::type option => 'a::type option => bool) x
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
   344
                        (None::'a::type option))))
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
   345
               ((op &::bool => bool => bool)
17644
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
   346
                 ((All::('a::type option => bool) => bool)
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
   347
                   (%x::'a::type option.
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
   348
                       (op -->::bool => bool => bool)
17644
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
   349
                        ((IS_SOME::'a::type option => bool) x)
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
   350
                        ((op =::'a::type option => 'a::type option => bool)
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   351
                          ((Some::'a::type => 'a::type option)
17644
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
   352
                            ((the::'a::type option => 'a::type) x))
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
   353
                          x)))
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
   354
                 ((op &::bool => bool => bool)
17644
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
   355
                   ((All::('a::type option => bool) => bool)
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
   356
                     (%x::'a::type option.
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
   357
                         (op =::'a::type option => 'a::type option => bool)
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
   358
                          ((option_case::'a::type option
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   359
   => ('a::type => 'a::type option) => 'a::type option => 'a::type option)
17644
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
   360
                            (None::'a::type option)
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   361
                            (Some::'a::type => 'a::type option) x)
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
   362
                          x))
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
   363
                   ((op &::bool => bool => bool)
17644
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
   364
                     ((All::('a::type option => bool) => bool)
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
   365
                       (%x::'a::type option.
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
   366
                           (op =::'a::type option
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
   367
                                  => 'a::type option => bool)
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
   368
                            ((option_case::'a::type option
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   369
     => ('a::type => 'a::type option) => 'a::type option => 'a::type option)
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   370
                              x (Some::'a::type => 'a::type option) x)
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
   371
                            x))
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
   372
                     ((op &::bool => bool => bool)
17644
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
   373
                       ((All::('a::type option => bool) => bool)
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
   374
                         (%x::'a::type option.
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
   375
                             (op -->::bool => bool => bool)
17644
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
   376
                              ((IS_NONE::'a::type option => bool) x)
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
   377
                              ((op =::'b::type => 'b::type => bool)
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
   378
                                ((option_case::'b::type
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
   379
         => ('a::type => 'b::type) => 'a::type option => 'b::type)
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
   380
                                  (e::'b::type) (f::'a::type => 'b::type) x)
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
   381
                                e)))
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
   382
                       ((op &::bool => bool => bool)
17644
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
   383
                         ((All::('a::type option => bool) => bool)
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
   384
                           (%x::'a::type option.
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
   385
                               (op -->::bool => bool => bool)
17644
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
   386
                                ((IS_SOME::'a::type option => bool) x)
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
   387
                                ((op =::'b::type => 'b::type => bool)
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
   388
                                  ((option_case::'b::type
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
   389
           => ('a::type => 'b::type) => 'a::type option => 'b::type)
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
   390
                                    e f x)
17644
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
   391
                                  (f ((the::'a::type option => 'a::type)
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
   392
 x)))))
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
   393
                         ((op &::bool => bool => bool)
17644
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
   394
                           ((All::('a::type option => bool) => bool)
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
   395
                             (%x::'a::type option.
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
   396
                                 (op -->::bool => bool => bool)
17644
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
   397
                                  ((IS_SOME::'a::type option => bool) x)
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
   398
                                  ((op =::'a::type option
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
   399
    => 'a::type option => bool)
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
   400
                                    ((option_case::'a::type option
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   401
             => ('a::type => 'a::type option)
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   402
                => 'a::type option => 'a::type option)
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   403
(ea::'a::type option) (Some::'a::type => 'a::type option) x)
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
   404
                                    x)))
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
   405
                           ((op &::bool => bool => bool)
17644
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
   406
                             ((All::('b::type => bool) => bool)
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
   407
                               (%u::'b::type.
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
   408
                                   (All::(('a::type => 'b::type) => bool)
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
   409
   => bool)
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
   410
                                    (%f::'a::type => 'b::type.
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
   411
  (op =::'b::type => 'b::type => bool)
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
   412
   ((option_case::'b::type
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
   413
                  => ('a::type => 'b::type) => 'a::type option => 'b::type)
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
   414
     u f (None::'a::type option))
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
   415
   u)))
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
   416
                             ((op &::bool => bool => bool)
17644
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
   417
                               ((All::('b::type => bool) => bool)
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
   418
                                 (%u::'b::type.
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
   419
                                     (All::(('a::type => 'b::type) => bool)
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
   420
     => bool)
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
   421
(%f::'a::type => 'b::type.
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
   422
    (All::('a::type => bool) => bool)
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
   423
     (%x::'a::type.
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
   424
         (op =::'b::type => 'b::type => bool)
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
   425
          ((option_case::'b::type
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
   426
                         => ('a::type => 'b::type)
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
   427
                            => 'a::type option => 'b::type)
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   428
            u f ((Some::'a::type => 'a::type option) x))
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
   429
          (f x)))))
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
   430
                               ((op &::bool => bool => bool)
17644
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
   431
                                 ((All::(('a::type => 'b::type) => bool)
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
   432
  => bool)
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
   433
                                   (%f::'a::type => 'b::type.
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
   434
 (All::('a::type => bool) => bool)
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
   435
  (%x::'a::type.
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
   436
      (op =::'b::type option => 'b::type option => bool)
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   437
       ((Option.map::('a::type => 'b::type)
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   438
                     => 'a::type option => 'b::type option)
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   439
         f ((Some::'a::type => 'a::type option) x))
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   440
       ((Some::'b::type => 'b::type option) (f x)))))
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
   441
                                 ((op &::bool => bool => bool)
17644
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
   442
                                   ((All::(('a::type => 'b::type) => bool)
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
   443
    => bool)
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
   444
                                     (%f::'a::type => 'b::type.
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
   445
   (op =::'b::type option => 'b::type option => bool)
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   446
    ((Option.map::('a::type => 'b::type)
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   447
                  => 'a::type option => 'b::type option)
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   448
      f (None::'a::type option))
17644
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
   449
    (None::'b::type option)))
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
   450
                                   ((op &::bool => bool => bool)
17644
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
   451
                                     ((op =::'a::type option
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
   452
       => 'a::type option => bool)
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   453
 ((OPTION_JOIN::'a::type option option => 'a::type option)
17644
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
   454
   (None::'a::type option option))
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
   455
 (None::'a::type option))
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
   456
                                     ((All::('a::type option => bool)
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
   457
      => bool)
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
   458
 (%x::'a::type option.
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
   459
     (op =::'a::type option => 'a::type option => bool)
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   460
      ((OPTION_JOIN::'a::type option option => 'a::type option)
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   461
        ((Some::'a::type option => 'a::type option option) x))
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
   462
      x))))))))))))))))))))"
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   463
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   464
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   465
lemma option_case_compute: "option_case (e::'b) (f::'a => 'b) (x::'a option) =
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
   466
(if IS_SOME x then f (the x) else e)"
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   467
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   468
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   469
lemma OPTION_MAP_EQ_SOME: "(Option.map (f::'a => 'b) (x::'a option) = Some (y::'b)) =
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   470
(EX z::'a. x = Some z & y = f z)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   471
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   472
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   473
lemma OPTION_JOIN_EQ_SOME: "(OPTION_JOIN x = Some xa) = (x = Some (Some xa))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   474
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   475
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   476
lemma option_case_cong: "M = M' & (M' = None --> u = u') & (ALL x. M' = Some x --> f x = f' x)
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   477
==> option_case u f M = option_case u' f' M'"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   478
  sorry
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
   479
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
   480
;end_setup
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
   481
46787
3d3d8f8929a7 file system structure separating HOL4 and HOL Light concerns
haftmann
parents: 46780
diff changeset
   482
setup_theory "~~/src/HOL/Import/HOL4/Generated" marker
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
   483
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
   484
consts
17652
b1ef33ebfa17 Release HOL4 and HOLLight Importer.
obua
parents: 17644
diff changeset
   485
  stmarker :: "'a => 'a" 
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
   486
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
   487
defs
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   488
  stmarker_primdef: "stmarker == %x. x"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   489
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   490
lemma stmarker_def: "stmarker x = x"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   491
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   492
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   493
lemma move_left_conj: "(x & stmarker xb) = (stmarker xb & x) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   494
((stmarker xb & x) & xa) = (stmarker xb & x & xa) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   495
(x & stmarker xb & xa) = (stmarker xb & x & xa)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   496
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   497
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   498
lemma move_right_conj: "(stmarker xb & x) = (x & stmarker xb) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   499
(x & xa & stmarker xb) = ((x & xa) & stmarker xb) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   500
((x & stmarker xb) & xa) = ((x & xa) & stmarker xb)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   501
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   502
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   503
lemma move_left_disj: "(x | stmarker xb) = (stmarker xb | x) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   504
((stmarker xb | x) | xa) = (stmarker xb | x | xa) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   505
(x | stmarker xb | xa) = (stmarker xb | x | xa)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   506
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   507
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   508
lemma move_right_disj: "(stmarker xb | x) = (x | stmarker xb) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   509
(x | xa | stmarker xb) = ((x | xa) | stmarker xb) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   510
((x | stmarker xb) | xa) = ((x | xa) | stmarker xb)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   511
  sorry
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
   512
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
   513
;end_setup
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
   514
46787
3d3d8f8929a7 file system structure separating HOL4 and HOL Light concerns
haftmann
parents: 46780
diff changeset
   515
setup_theory "~~/src/HOL/Import/HOL4/Generated" relation
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
   516
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   517
definition
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   518
  TC :: "('a => 'a => bool) => 'a => 'a => bool"  where
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
   519
  "TC ==
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   520
%R a b.
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   521
   ALL P.
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   522
      (ALL x y. R x y --> P x y) & (ALL x y z. P x y & P y z --> P x z) -->
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
   523
      P a b"
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
   524
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   525
lemma TC_DEF: "TC R a b =
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   526
(ALL P.
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   527
    (ALL x y. R x y --> P x y) & (ALL x y z. P x y & P y z --> P x z) -->
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   528
    P a b)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   529
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   530
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   531
definition
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   532
  RTC :: "('a => 'a => bool) => 'a => 'a => bool"  where
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
   533
  "RTC ==
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   534
%R a b.
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   535
   ALL P. (ALL x. P x x) & (ALL x y z. R x y & P y z --> P x z) --> P a b"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   536
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   537
lemma RTC_DEF: "RTC R a b =
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   538
(ALL P. (ALL x. P x x) & (ALL x y z. R x y & P y z --> P x z) --> P a b)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   539
  sorry
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
   540
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
   541
consts
17652
b1ef33ebfa17 Release HOL4 and HOLLight Importer.
obua
parents: 17644
diff changeset
   542
  RC :: "('a => 'a => bool) => 'a => 'a => bool" 
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
   543
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
   544
defs
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   545
  RC_primdef: "RC == %R x y. x = y | R x y"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   546
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   547
lemma RC_def: "RC R x y = (x = y | R x y)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   548
  sorry
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
   549
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
   550
consts
17652
b1ef33ebfa17 Release HOL4 and HOLLight Importer.
obua
parents: 17644
diff changeset
   551
  transitive :: "('a => 'a => bool) => bool" 
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
   552
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
   553
defs
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   554
  transitive_primdef: "transitive == %R. ALL x y z. R x y & R y z --> R x z"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   555
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   556
lemma transitive_def: "transitive R = (ALL x y z. R x y & R y z --> R x z)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   557
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   558
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   559
definition
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   560
  pred_reflexive :: "('a => 'a => bool) => bool"  where
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   561
  "pred_reflexive == %R. ALL x. R x x"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   562
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   563
lemma reflexive_def: "pred_reflexive R = (ALL x. R x x)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   564
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   565
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   566
lemma TC_TRANSITIVE: "transitive (TC x)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   567
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   568
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   569
lemma RTC_INDUCT: "[| (ALL x. xa x x) & (ALL xb y z. x xb y & xa y z --> xa xb z);
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   570
   RTC x xb xc |]
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   571
==> xa xb xc"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   572
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   573
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   574
lemma TC_RULES: "(ALL xa xb. x xa xb --> TC x xa xb) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   575
(ALL xa xb xc. TC x xa xb & TC x xb xc --> TC x xa xc)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   576
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   577
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   578
lemma RTC_RULES: "(ALL xa. RTC x xa xa) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   579
(ALL xa xb xc. x xa xb & RTC x xb xc --> RTC x xa xc)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   580
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   581
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   582
lemma RTC_STRONG_INDUCT: "[| (ALL x. P x x) & (ALL x y z. R x y & RTC R y z & P y z --> P x z);
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   583
   RTC R x y |]
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   584
==> P x y"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   585
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   586
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   587
lemma RTC_RTC: "[| RTC R x y; RTC R y z |] ==> RTC R x z"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   588
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   589
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   590
lemma RTC_TRANSITIVE: "transitive (RTC x)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   591
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   592
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   593
lemma RTC_REFLEXIVE: "pred_reflexive (RTC R)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   594
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   595
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   596
lemma RC_REFLEXIVE: "pred_reflexive (RC R)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   597
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   598
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   599
lemma TC_SUBSET: "x xa xb ==> TC x xa xb"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   600
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   601
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   602
lemma RTC_SUBSET: "R x y ==> RTC R x y"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   603
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   604
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   605
lemma RC_SUBSET: "R x y ==> RC R x y"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   606
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   607
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   608
lemma RC_RTC: "RC R x y ==> RTC R x y"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   609
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   610
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   611
lemma TC_INDUCT: "[| (ALL xb y. x xb y --> xa xb y) & (ALL x y z. xa x y & xa y z --> xa x z);
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   612
   TC x xb xc |]
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   613
==> xa xb xc"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   614
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   615
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   616
lemma TC_INDUCT_LEFT1: "[| (ALL xb y. x xb y --> xa xb y) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   617
   (ALL xb y z. x xb y & xa y z --> xa xb z);
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   618
   TC x xb xc |]
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   619
==> xa xb xc"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   620
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   621
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   622
lemma TC_STRONG_INDUCT: "[| (ALL x y. R x y --> P x y) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   623
   (ALL x y z. P x y & P y z & TC R x y & TC R y z --> P x z);
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   624
   TC R u v |]
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   625
==> P u v"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   626
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   627
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   628
lemma TC_STRONG_INDUCT_LEFT1: "[| (ALL x y. R x y --> P x y) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   629
   (ALL x y z. R x y & P y z & TC R y z --> P x z);
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   630
   TC R u v |]
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   631
==> P u v"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   632
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   633
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   634
lemma TC_RTC: "TC R x y ==> RTC R x y"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   635
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   636
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   637
lemma RTC_TC_RC: "RTC R x y ==> RC R x y | TC R x y"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   638
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   639
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   640
lemma TC_RC_EQNS: "RC (TC R) = RTC R & TC (RC R) = RTC R"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   641
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   642
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   643
lemma RC_IDEM: "RC (RC R) = RC R"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   644
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   645
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   646
lemma TC_IDEM: "TC (TC R) = TC R"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   647
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   648
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   649
lemma RTC_IDEM: "RTC (RTC R) = RTC R"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   650
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   651
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   652
lemma RTC_CASES1: "RTC x xa xb = (xa = xb | (EX u. x xa u & RTC x u xb))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   653
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   654
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   655
lemma RTC_CASES2: "RTC x xa xb = (xa = xb | (EX u. RTC x xa u & x u xb))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   656
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   657
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   658
lemma RTC_CASES_RTC_TWICE: "RTC x xa xb = (EX u. RTC x xa u & RTC x u xb)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   659
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   660
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   661
lemma TC_CASES1: "TC R x z ==> R x z | (EX y. R x y & TC R y z)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   662
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   663
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   664
lemma TC_CASES2: "TC R x z ==> R x z | (EX y. TC R x y & R y z)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   665
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   666
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   667
lemma TC_MONOTONE: "[| !!x y. R x y ==> Q x y; TC R x y |] ==> TC Q x y"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   668
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   669
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   670
lemma RTC_MONOTONE: "[| !!x y. R x y ==> Q x y; RTC R x y |] ==> RTC Q x y"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   671
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   672
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   673
definition
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   674
  WF :: "('a => 'a => bool) => bool"  where
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   675
  "WF == %R. ALL B. Ex B --> (EX min. B min & (ALL b. R b min --> ~ B b))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   676
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   677
lemma WF_DEF: "WF R = (ALL B. Ex B --> (EX min. B min & (ALL b. R b min --> ~ B b)))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   678
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   679
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   680
lemma WF_INDUCTION_THM: "[| WF R; !!x. (!!y. R y x ==> P y) ==> P x |] ==> P x"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   681
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   682
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   683
lemma WF_NOT_REFL: "[| WF x; x xa xb |] ==> xa ~= xb"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   684
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   685
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   686
definition
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   687
  EMPTY_REL :: "'a => 'a => bool"  where
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   688
  "EMPTY_REL == %x y. False"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   689
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   690
lemma EMPTY_REL_DEF: "EMPTY_REL x y = False"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   691
  sorry
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
   692
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
   693
lemma WF_EMPTY_REL: "WF EMPTY_REL"
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   694
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   695
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   696
lemma WF_SUBSET: "WF x & (ALL xb y. xa xb y --> x xb y) ==> WF xa"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   697
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   698
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   699
lemma WF_TC: "WF R ==> WF (TC R)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   700
  sorry
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
   701
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
   702
consts
17652
b1ef33ebfa17 Release HOL4 and HOLLight Importer.
obua
parents: 17644
diff changeset
   703
  inv_image :: "('b => 'b => bool) => ('a => 'b) => 'a => 'a => bool" 
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
   704
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
   705
defs
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
   706
  inv_image_primdef: "relation.inv_image ==
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   707
%(R::'b => 'b => bool) (f::'a => 'b) (x::'a) y::'a. R (f x) (f y)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   708
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   709
lemma inv_image_def: "relation.inv_image R f = (%x y. R (f x) (f y))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   710
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   711
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   712
lemma WF_inv_image: "WF (R::'b => 'b => bool) ==> WF (relation.inv_image R (f::'a => 'b))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   713
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   714
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   715
definition
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   716
  RESTRICT :: "('a => 'b) => ('a => 'a => bool) => 'a => 'a => 'b"  where
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   717
  "RESTRICT == %f R x y. if R y x then f y else ARB"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   718
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   719
lemma RESTRICT_DEF: "RESTRICT f R x = (%y. if R y x then f y else ARB)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   720
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   721
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   722
lemma RESTRICT_LEMMA: "xa xb xc ==> RESTRICT x xa xc xb = x xb"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   723
  sorry
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
   724
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
   725
consts
17652
b1ef33ebfa17 Release HOL4 and HOLLight Importer.
obua
parents: 17644
diff changeset
   726
  approx :: "('a => 'a => bool) => (('a => 'b) => 'a => 'b) => 'a => ('a => 'b) => bool" 
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
   727
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
   728
defs
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   729
  approx_primdef: "approx == %R M x f. f = RESTRICT (%y. M (RESTRICT f R y) y) R x"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   730
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   731
lemma approx_def: "approx R M x f = (f = RESTRICT (%y. M (RESTRICT f R y) y) R x)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   732
  sorry
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
   733
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
   734
consts
17652
b1ef33ebfa17 Release HOL4 and HOLLight Importer.
obua
parents: 17644
diff changeset
   735
  the_fun :: "('a => 'a => bool) => (('a => 'b) => 'a => 'b) => 'a => 'a => 'b" 
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
   736
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
   737
defs
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   738
  the_fun_primdef: "the_fun == %R M x. Eps (approx R M x)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   739
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   740
lemma the_fun_def: "the_fun R M x = Eps (approx R M x)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   741
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   742
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   743
definition
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   744
  WFREC :: "('a => 'a => bool) => (('a => 'b) => 'a => 'b) => 'a => 'b"  where
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
   745
  "WFREC ==
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   746
%R M x. M (RESTRICT (the_fun (TC R) (%f v. M (RESTRICT f R v) v) x) R x) x"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   747
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   748
lemma WFREC_DEF: "WFREC R M =
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   749
(%x. M (RESTRICT (the_fun (TC R) (%f v. M (RESTRICT f R v) v) x) R x) x)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   750
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   751
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   752
lemma WFREC_THM: "WF R ==> WFREC R M x = M (RESTRICT (WFREC R M) R x) x"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   753
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   754
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   755
lemma WFREC_COROLLARY: "[| f = WFREC R M; WF R |] ==> f x = M (RESTRICT f R x) x"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   756
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   757
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   758
lemma WF_RECURSION_THM: "WF R ==> EX! f. ALL x. f x = M (RESTRICT f R x) x"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   759
  sorry
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
   760
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
   761
;end_setup
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
   762
46787
3d3d8f8929a7 file system structure separating HOL4 and HOL Light concerns
haftmann
parents: 46780
diff changeset
   763
setup_theory "~~/src/HOL/Import/HOL4/Generated" pair
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
   764
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   765
lemma CURRY_ONE_ONE_THM: "(curry f = curry g) = (f = g)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   766
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   767
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   768
lemma UNCURRY_ONE_ONE_THM: "((%(x, y). f x y) = (%(x, y). g x y)) = (f = g)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   769
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   770
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   771
lemma pair_Axiom: "EX x. ALL xa y. x (xa, y) = f xa y"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   772
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   773
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   774
lemma UNCURRY_CONG: "M = M' & (ALL x y. M' = (x, y) --> f x y = f' x y)
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   775
==> prod_case f M = prod_case f' M'"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   776
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   777
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   778
lemma ELIM_PEXISTS: "(EX p. P (fst p) (snd p)) = (EX p1. Ex (P p1))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   779
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   780
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   781
lemma ELIM_PFORALL: "(ALL p. P (fst p) (snd p)) = (ALL p1. All (P p1))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   782
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   783
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   784
lemma PFORALL_THM: "(ALL xa. All (x xa)) = All (%(xa, y). x xa y)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   785
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   786
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   787
lemma PEXISTS_THM: "(EX xa. Ex (x xa)) = Ex (%(xa, y). x xa y)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   788
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   789
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   790
lemma LET2_RAND: "(x::'c => 'd)
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   791
 (let (x::'a, y::'b) = xa::'a * 'b in (xb::'a => 'b => 'c) x y) =
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   792
(let (xa::'a, y::'b) = xa in x (xb xa y))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   793
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   794
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   795
lemma LET2_RATOR: "(let (x::'a1, y::'a2) = x::'a1 * 'a2 in (xa::'a1 => 'a2 => 'b => 'c) x y)
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   796
 (xb::'b) =
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   797
(let (x::'a1, y::'a2) = x in xa x y xb)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   798
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   799
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   800
lemma pair_case_cong: "x = xa & (ALL x y. xa = (x, y) --> xb x y = f' x y)
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   801
==> prod_case xb x = prod_case f' xa"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   802
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   803
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   804
definition
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   805
  LEX :: "('a => 'a => bool) => ('b => 'b => bool) => 'a * 'b => 'a * 'b => bool"  where
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   806
  "LEX == %R1 R2 (s, t) (u, v). R1 s u | s = u & R2 t v"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   807
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   808
lemma LEX_DEF: "LEX R1 R2 = (%(s, t) (u, v). R1 s u | s = u & R2 t v)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   809
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   810
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   811
lemma WF_LEX: "WF x & WF xa ==> WF (LEX x xa)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   812
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   813
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   814
definition
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   815
  RPROD :: "('a => 'a => bool) => ('b => 'b => bool) => 'a * 'b => 'a * 'b => bool"  where
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   816
  "RPROD == %R1 R2 (s, t) (u, v). R1 s u & R2 t v"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   817
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   818
lemma RPROD_DEF: "RPROD R1 R2 = (%(s, t) (u, v). R1 s u & R2 t v)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   819
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   820
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   821
lemma WF_RPROD: "WF R & WF Q ==> WF (RPROD R Q)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   822
  sorry
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
   823
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
   824
;end_setup
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
   825
46787
3d3d8f8929a7 file system structure separating HOL4 and HOL Light concerns
haftmann
parents: 46780
diff changeset
   826
setup_theory "~~/src/HOL/Import/HOL4/Generated" num
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
   827
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
   828
;end_setup
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
   829
46787
3d3d8f8929a7 file system structure separating HOL4 and HOL Light concerns
haftmann
parents: 46780
diff changeset
   830
setup_theory "~~/src/HOL/Import/HOL4/Generated" prim_rec
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
   831
17652
b1ef33ebfa17 Release HOL4 and HOLLight Importer.
obua
parents: 17644
diff changeset
   832
lemma LESS_0_0: "0 < Suc 0"
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   833
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   834
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   835
lemma LESS_LEMMA1: "x < Suc xa ==> x = xa | x < xa"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   836
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   837
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   838
lemma LESS_LEMMA2: "m = n | m < n ==> m < Suc n"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   839
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   840
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   841
lemma LESS_THM: "(m < Suc n) = (m = n | m < n)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   842
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   843
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   844
lemma LESS_SUC_IMP: "[| x < Suc xa; x ~= xa |] ==> x < xa"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   845
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   846
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   847
lemma EQ_LESS: "Suc m = n ==> m < n"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   848
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   849
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   850
lemma NOT_LESS_EQ: "(m::nat) = (n::nat) ==> ~ m < n"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   851
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   852
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   853
definition
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   854
  SIMP_REC_REL :: "(nat => 'a) => 'a => ('a => 'a) => nat => bool"  where
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   855
  "SIMP_REC_REL == %fun x f n. fun 0 = x & (ALL m<n. fun (Suc m) = f (fun m))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   856
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   857
lemma SIMP_REC_REL: "SIMP_REC_REL fun x f n = (fun 0 = x & (ALL m<n. fun (Suc m) = f (fun m)))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   858
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   859
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   860
lemma SIMP_REC_EXISTS: "EX fun. SIMP_REC_REL fun x f n"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   861
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   862
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   863
lemma SIMP_REC_REL_UNIQUE: "[| SIMP_REC_REL xb x xa xd & SIMP_REC_REL xc x xa xe; n < xd & n < xe |]
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   864
==> xb n = xc n"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   865
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   866
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   867
lemma SIMP_REC_REL_UNIQUE_RESULT: "EX! y. EX g. SIMP_REC_REL g x f (Suc n) & y = g n"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   868
  sorry
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
   869
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
   870
consts
17652
b1ef33ebfa17 Release HOL4 and HOLLight Importer.
obua
parents: 17644
diff changeset
   871
  SIMP_REC :: "'a => ('a => 'a) => nat => 'a" 
17644
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
   872
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   873
specification (SIMP_REC) SIMP_REC: "ALL x f' n. EX g. SIMP_REC_REL g x f' (Suc n) & SIMP_REC x f' n = g n"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   874
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   875
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   876
lemma LESS_SUC_SUC: "m < Suc m & m < Suc (Suc m)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   877
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   878
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   879
lemma SIMP_REC_THM: "SIMP_REC x f 0 = x & (ALL m. SIMP_REC x f (Suc m) = f (SIMP_REC x f m))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   880
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   881
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   882
definition
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   883
  PRE :: "nat => nat"  where
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   884
  "PRE == %m. if m = 0 then 0 else SOME n. m = Suc n"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   885
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   886
lemma PRE_DEF: "PRE m = (if m = 0 then 0 else SOME n. m = Suc n)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   887
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   888
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   889
lemma PRE: "PRE 0 = 0 & (ALL m. PRE (Suc m) = m)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   890
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   891
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   892
definition
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   893
  PRIM_REC_FUN :: "'a => ('a => nat => 'a) => nat => nat => 'a"  where
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   894
  "PRIM_REC_FUN == %x f. SIMP_REC (%n. x) (%fun n. f (fun (PRE n)) n)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   895
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   896
lemma PRIM_REC_FUN: "PRIM_REC_FUN x f = SIMP_REC (%n. x) (%fun n. f (fun (PRE n)) n)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   897
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   898
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   899
lemma PRIM_REC_EQN: "(ALL n. PRIM_REC_FUN x f 0 n = x) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   900
(ALL m n. PRIM_REC_FUN x f (Suc m) n = f (PRIM_REC_FUN x f m (PRE n)) n)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   901
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   902
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   903
definition
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   904
  PRIM_REC :: "'a => ('a => nat => 'a) => nat => 'a"  where
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   905
  "PRIM_REC == %x f m. PRIM_REC_FUN x f m (PRE m)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   906
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   907
lemma PRIM_REC: "PRIM_REC x f m = PRIM_REC_FUN x f m (PRE m)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   908
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   909
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   910
lemma PRIM_REC_THM: "PRIM_REC x f 0 = x & (ALL m. PRIM_REC x f (Suc m) = f (PRIM_REC x f m) m)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   911
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   912
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   913
lemma DC: "P a & (ALL x. P x --> (EX y. P y & R x y))
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   914
==> EX x. x 0 = a & (ALL n. P (x n) & R (x n) (x (Suc n)))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   915
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   916
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   917
lemma num_Axiom_old: "EX! fn1. fn1 0 = e & (ALL n. fn1 (Suc n) = f (fn1 n) n)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   918
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   919
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   920
lemma num_Axiom: "EX x. x 0 = e & (ALL n. x (Suc n) = f n (x n))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   921
  sorry
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
   922
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
   923
consts
17652
b1ef33ebfa17 Release HOL4 and HOLLight Importer.
obua
parents: 17644
diff changeset
   924
  wellfounded :: "('a => 'a => bool) => bool" 
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
   925
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
   926
defs
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   927
  wellfounded_primdef: "wellfounded == %R. ~ (EX f. ALL n. R (f (Suc n)) (f n))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   928
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   929
lemma wellfounded_def: "wellfounded R = (~ (EX f. ALL n. R (f (Suc n)) (f n)))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   930
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   931
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   932
lemma WF_IFF_WELLFOUNDED: "WF R = wellfounded R"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   933
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   934
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   935
lemma WF_PRED: "WF (%x y. y = Suc x)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   936
  sorry
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
   937
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
   938
lemma WF_LESS: "(WF::(nat => nat => bool) => bool) (op <::nat => nat => bool)"
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   939
  sorry
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
   940
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
   941
consts
17652
b1ef33ebfa17 Release HOL4 and HOLLight Importer.
obua
parents: 17644
diff changeset
   942
  measure :: "('a => nat) => 'a => 'a => bool" 
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
   943
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
   944
defs
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
   945
  measure_primdef: "prim_rec.measure == relation.inv_image op <"
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
   946
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
   947
lemma measure_def: "prim_rec.measure = relation.inv_image op <"
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   948
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   949
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   950
lemma WF_measure: "WF (prim_rec.measure x)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   951
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   952
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   953
lemma measure_thm: "prim_rec.measure x xa xb = (x xa < x xb)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   954
  sorry
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
   955
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
   956
;end_setup
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
   957
46787
3d3d8f8929a7 file system structure separating HOL4 and HOL Light concerns
haftmann
parents: 46780
diff changeset
   958
setup_theory "~~/src/HOL/Import/HOL4/Generated" arithmetic
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
   959
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   960
definition
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   961
  nat_elim__magic :: "nat => nat"  where
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   962
  "nat_elim__magic == %n. n"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   963
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   964
lemma nat_elim__magic: "nat_elim__magic n = n"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   965
  sorry
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
   966
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
   967
consts
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
   968
  EVEN :: "nat => bool" 
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
   969
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   970
specification (EVEN) EVEN: "EVEN 0 = True & (ALL n. EVEN (Suc n) = (~ EVEN n))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   971
  sorry
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
   972
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
   973
consts
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
   974
  ODD :: "nat => bool" 
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
   975
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   976
specification (ODD) ODD: "ODD 0 = False & (ALL n. ODD (Suc n) = (~ ODD n))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   977
  sorry
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
   978
17652
b1ef33ebfa17 Release HOL4 and HOLLight Importer.
obua
parents: 17644
diff changeset
   979
lemma TWO: "2 = Suc 1"
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   980
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   981
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   982
lemma NORM_0: "(0::nat) = (0::nat)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   983
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   984
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   985
lemma num_case_compute: "nat_case f g n = (if n = 0 then f else g (PRE n))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   986
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   987
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   988
lemma ADD_CLAUSES: "0 + m = m & m + 0 = m & Suc m + n = Suc (m + n) & m + Suc n = Suc (m + n)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   989
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   990
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   991
lemma LESS_ADD: "(n::nat) < (m::nat) ==> EX p::nat. p + n = m"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   992
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   993
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   994
lemma LESS_ANTISYM: "~ ((m::nat) < (n::nat) & n < m)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   995
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   996
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   997
lemma LESS_LESS_SUC: "~ (x < xa & xa < Suc x)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   998
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
   999
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1000
lemma FUN_EQ_LEMMA: "f x1 & ~ f x2 ==> x1 ~= x2"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1001
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1002
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1003
lemma LESS_NOT_SUC: "m < n & n ~= Suc m ==> Suc m < n"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1004
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1005
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1006
lemma LESS_0_CASES: "(0::nat) = (m::nat) | (0::nat) < m"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1007
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1008
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1009
lemma LESS_CASES_IMP: "~ (m::nat) < (n::nat) & m ~= n ==> n < m"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1010
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1011
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1012
lemma LESS_CASES: "(m::nat) < (n::nat) | n <= m"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1013
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1014
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1015
lemma LESS_EQ_SUC_REFL: "m <= Suc m"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1016
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1017
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1018
lemma LESS_ADD_NONZERO: "(n::nat) ~= (0::nat) ==> (m::nat) < m + n"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1019
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1020
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1021
lemma LESS_EQ_ANTISYM: "~ ((x::nat) < (xa::nat) & xa <= x)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1022
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1023
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1024
lemma SUB_0: "(0::nat) - (m::nat) = (0::nat) & m - (0::nat) = m"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1025
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1026
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1027
lemma PRE_SUB1: "PRE m = m - 1"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1028
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1029
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1030
lemma MULT_CLAUSES: "0 * x = 0 &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1031
x * 0 = 0 &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1032
1 * x = x & x * 1 = x & Suc x * xa = x * xa + xa & x * Suc xa = x + x * xa"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1033
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1034
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1035
lemma PRE_SUB: "PRE (m - n) = PRE m - n"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1036
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1037
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1038
lemma ADD_EQ_1: "((m::nat) + (n::nat) = (1::nat)) =
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1039
(m = (1::nat) & n = (0::nat) | m = (0::nat) & n = (1::nat))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1040
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1041
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1042
lemma ADD_INV_0_EQ: "((m::nat) + (n::nat) = m) = (n = (0::nat))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1043
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1044
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1045
lemma PRE_SUC_EQ: "0 < n ==> (m = PRE n) = (Suc m = n)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1046
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1047
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1048
lemma INV_PRE_EQ: "0 < m & 0 < n ==> (PRE m = PRE n) = (m = n)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1049
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1050
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1051
lemma LESS_SUC_NOT: "m < n ==> ~ n < Suc m"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1052
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1053
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1054
lemma ADD_EQ_SUB: "(n::nat) <= (p::nat) ==> ((m::nat) + n = p) = (m = p - n)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1055
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1056
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1057
lemma LESS_ADD_1: "(xa::nat) < (x::nat) ==> EX xb::nat. x = xa + (xb + (1::nat))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1058
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1059
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1060
lemma NOT_ODD_EQ_EVEN: "Suc (n + n) ~= m + m"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1061
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1062
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1063
lemma MULT_SUC_EQ: "(n * Suc p = m * Suc p) = (n = m)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1064
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1065
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1066
lemma MULT_EXP_MONO: "(n * Suc q ^ p = m * Suc q ^ p) = (n = m)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1067
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1068
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1069
lemma LESS_ADD_SUC: "m < m + Suc n"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1070
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1071
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1072
lemma LESS_OR_EQ_ADD: "(n::nat) < (m::nat) | (EX p::nat. n = p + m)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1073
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1074
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1075
lemma WOP: "Ex (P::nat => bool) ==> EX n::nat. P n & (ALL m<n. ~ P m)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1076
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1077
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1078
lemma INV_PRE_LESS: "0 < m ==> (PRE m < PRE n) = (m < n)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1079
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1080
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1081
lemma INV_PRE_LESS_EQ: "0 < n ==> (PRE m <= PRE n) = (m <= n)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1082
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1083
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1084
lemma SUB_EQ_EQ_0: "((m::nat) - (n::nat) = m) = (m = (0::nat) | n = (0::nat))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1085
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1086
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1087
lemma SUB_LESS_OR: "(n::nat) < (m::nat) ==> n <= m - (1::nat)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1088
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1089
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1090
lemma LESS_SUB_ADD_LESS: "(i::nat) < (n::nat) - (m::nat) ==> i + m < n"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1091
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1092
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1093
lemma LESS_EQ_SUB_LESS: "(xa::nat) <= (x::nat) ==> (x - xa < (c::nat)) = (x < xa + c)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1094
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1095
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1096
lemma NOT_SUC_LESS_EQ: "(~ Suc x <= xa) = (xa <= x)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1097
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1098
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1099
lemma SUB_LESS_EQ_ADD: "(m::nat) <= (p::nat) ==> (p - m <= (n::nat)) = (p <= m + n)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1100
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1101
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1102
lemma SUB_CANCEL: "(xa::nat) <= (x::nat) & (xb::nat) <= x ==> (x - xa = x - xb) = (xa = xb)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1103
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1104
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1105
lemma NOT_EXP_0: "Suc n ^ m ~= 0"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1106
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1107
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1108
lemma ZERO_LESS_EXP: "0 < Suc n ^ m"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1109
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1110
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1111
lemma ODD_OR_EVEN: "EX xa. x = Suc (Suc 0) * xa | x = Suc (Suc 0) * xa + 1"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1112
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1113
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1114
lemma LESS_EXP_SUC_MONO: "Suc (Suc m) ^ n < Suc (Suc m) ^ Suc n"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1115
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1116
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1117
lemma LESS_LESS_CASES: "(m::nat) = (n::nat) | m < n | n < m"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1118
  sorry
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  1119
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  1120
consts
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  1121
  FACT :: "nat => nat" 
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  1122
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1123
specification (FACT) FACT: "FACT 0 = 1 & (ALL n. FACT (Suc n) = Suc n * FACT n)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1124
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1125
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1126
lemma FACT_LESS: "0 < FACT n"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1127
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1128
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1129
lemma EVEN_ODD: "EVEN n = (~ ODD n)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1130
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1131
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1132
lemma ODD_EVEN: "ODD x = (~ EVEN x)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1133
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1134
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1135
lemma EVEN_OR_ODD: "EVEN x | ODD x"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1136
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1137
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1138
lemma EVEN_AND_ODD: "~ (EVEN x & ODD x)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1139
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1140
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1141
lemma EVEN_ADD: "EVEN (m + n) = (EVEN m = EVEN n)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1142
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1143
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1144
lemma EVEN_MULT: "EVEN (m * n) = (EVEN m | EVEN n)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1145
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1146
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1147
lemma ODD_ADD: "ODD (m + n) = (ODD m ~= ODD n)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1148
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1149
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1150
lemma ODD_MULT: "ODD (m * n) = (ODD m & ODD n)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1151
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1152
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1153
lemma EVEN_DOUBLE: "EVEN (2 * n)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1154
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1155
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1156
lemma ODD_DOUBLE: "ODD (Suc (2 * x))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1157
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1158
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1159
lemma EVEN_ODD_EXISTS: "(EVEN x --> (EX m. x = 2 * m)) & (ODD x --> (EX m. x = Suc (2 * m)))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1160
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1161
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1162
lemma EVEN_EXISTS: "EVEN n = (EX m. n = 2 * m)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1163
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1164
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1165
lemma ODD_EXISTS: "ODD n = (EX m. n = Suc (2 * m))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1166
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1167
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1168
lemma NOT_SUC_LESS_EQ_0: "~ Suc x <= 0"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1169
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1170
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1171
lemma NOT_NUM_EQ: "(x ~= xa) = (Suc x <= xa | Suc xa <= x)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1172
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1173
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1174
lemma SUC_ADD_SYM: "Suc (m + n) = Suc n + m"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1175
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1176
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1177
lemma NOT_SUC_ADD_LESS_EQ: "~ Suc (m + n) <= m"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1178
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1179
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1180
lemma SUB_LEFT_ADD: "(m::nat) + ((n::nat) - (p::nat)) = (if n <= p then m else m + n - p)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1181
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1182
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1183
lemma SUB_RIGHT_ADD: "(m::nat) - (n::nat) + (p::nat) = (if m <= n then p else m + p - n)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1184
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1185
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1186
lemma SUB_LEFT_SUB: "(m::nat) - ((n::nat) - (p::nat)) = (if n <= p then m else m + p - n)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1187
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1188
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1189
lemma SUB_LEFT_SUC: "Suc (m - n) = (if m <= n then Suc 0 else Suc m - n)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1190
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1191
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1192
lemma SUB_LEFT_LESS_EQ: "((m::nat) <= (n::nat) - (p::nat)) = (m + p <= n | m <= (0::nat))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1193
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1194
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1195
lemma SUB_RIGHT_LESS_EQ: "((m::nat) - (n::nat) <= (p::nat)) = (m <= n + p)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1196
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1197
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1198
lemma SUB_RIGHT_LESS: "((m::nat) - (n::nat) < (p::nat)) = (m < n + p & (0::nat) < p)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1199
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1200
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1201
lemma SUB_RIGHT_GREATER_EQ: "((p::nat) <= (m::nat) - (n::nat)) = (n + p <= m | p <= (0::nat))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1202
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1203
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1204
lemma SUB_LEFT_GREATER: "((n::nat) - (p::nat) < (m::nat)) = (n < m + p & (0::nat) < m)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1205
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1206
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1207
lemma SUB_RIGHT_GREATER: "((p::nat) < (m::nat) - (n::nat)) = (n + p < m)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1208
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1209
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1210
lemma SUB_LEFT_EQ: "((m::nat) = (n::nat) - (p::nat)) = (m + p = n | m <= (0::nat) & n <= p)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1211
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1212
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1213
lemma SUB_RIGHT_EQ: "((m::nat) - (n::nat) = (p::nat)) = (m = n + p | m <= n & p <= (0::nat))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1214
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1215
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1216
lemma LE: "(ALL n::nat. (n <= (0::nat)) = (n = (0::nat))) &
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  1217
(ALL (m::nat) n::nat. (m <= Suc n) = (m = Suc n | m <= n))"
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1218
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1219
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1220
lemma DA: "(0::nat) < (n::nat) ==> EX (x::nat) q::nat. (k::nat) = q * n + x & x < n"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1221
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1222
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1223
lemma DIV_LESS_EQ: "(0::nat) < (n::nat) ==> (k::nat) div n <= k"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1224
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1225
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1226
lemma DIV_UNIQUE: "EX r::nat. (k::nat) = (q::nat) * (n::nat) + r & r < n ==> k div n = q"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1227
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1228
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1229
lemma MOD_UNIQUE: "EX q::nat. (k::nat) = q * (n::nat) + (r::nat) & r < n ==> k mod n = r"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1230
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1231
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1232
lemma DIV_MULT: "(r::nat) < (n::nat) ==> ((q::nat) * n + r) div n = q"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1233
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1234
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1235
lemma MOD_EQ_0: "(0::nat) < (n::nat) ==> (k::nat) * n mod n = (0::nat)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1236
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1237
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1238
lemma ZERO_MOD: "(0::nat) < (n::nat) ==> (0::nat) mod n = (0::nat)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1239
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1240
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1241
lemma ZERO_DIV: "(0::nat) < (n::nat) ==> (0::nat) div n = (0::nat)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1242
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1243
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1244
lemma MOD_MULT: "(r::nat) < (n::nat) ==> ((q::nat) * n + r) mod n = r"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1245
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1246
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1247
lemma MOD_TIMES: "(0::nat) < (n::nat) ==> ((q::nat) * n + (r::nat)) mod n = r mod n"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1248
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1249
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1250
lemma MOD_PLUS: "(0::nat) < (n::nat)
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1251
==> ((j::nat) mod n + (k::nat) mod n) mod n = (j + k) mod n"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1252
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1253
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1254
lemma MOD_MOD: "(0::nat) < (n::nat) ==> (k::nat) mod n mod n = k mod n"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1255
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1256
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1257
lemma ADD_DIV_ADD_DIV: "(0::nat) < (x::nat) ==> ((xa::nat) * x + (r::nat)) div x = xa + r div x"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1258
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1259
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1260
lemma MOD_MULT_MOD: "(0::nat) < (n::nat) & (0::nat) < (m::nat)
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1261
==> (x::nat) mod (n * m) mod n = x mod n"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1262
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1263
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1264
lemma DIVMOD_ID: "(0::nat) < (n::nat) ==> n div n = (1::nat) & n mod n = (0::nat)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1265
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1266
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1267
lemma DIV_DIV_DIV_MULT: "(0::nat) < (x::nat) & (0::nat) < (xa::nat)
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1268
==> (xb::nat) div x div xa = xb div (x * xa)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1269
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1270
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1271
lemma DIV_P: "(0::nat) < (q::nat)
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1272
==> (P::nat => bool) ((p::nat) div q) =
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1273
    (EX (k::nat) r::nat. p = k * q + r & r < q & P k)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1274
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1275
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1276
lemma MOD_P: "(0::nat) < (q::nat)
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1277
==> (P::nat => bool) ((p::nat) mod q) =
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1278
    (EX (k::nat) r::nat. p = k * q + r & r < q & P r)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1279
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1280
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1281
lemma MOD_TIMES2: "(0::nat) < (n::nat)
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1282
==> (j::nat) mod n * ((k::nat) mod n) mod n = j * k mod n"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1283
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1284
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1285
lemma MOD_COMMON_FACTOR: "(0::nat) < (n::nat) & (0::nat) < (q::nat)
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1286
==> n * ((p::nat) mod q) = n * p mod (n * q)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1287
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1288
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1289
lemma num_case_cong: "M = M' & (M' = 0 --> b = b') & (ALL n. M' = Suc n --> f n = f' n)
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1290
==> nat_case b f M = nat_case b' f' M'"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1291
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1292
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1293
lemma SUC_ELIM_THM: "(ALL n. P (Suc n) n) = (ALL n>0. P n (n - 1))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1294
  sorry
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  1295
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  1296
lemma SUB_ELIM_THM: "(P::nat => bool) ((a::nat) - (b::nat)) =
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1297
(ALL x::nat. (b = a + x --> P (0::nat)) & (a = b + x --> P x))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1298
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1299
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1300
lemma PRE_ELIM_THM: "P (PRE n) = (ALL m. (n = 0 --> P 0) & (n = Suc m --> P m))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1301
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1302
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1303
lemma MULT_INCREASES: "1 < m & 0 < n ==> Suc n <= m * n"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1304
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1305
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1306
lemma EXP_ALWAYS_BIG_ENOUGH: "(1::nat) < (b::nat) ==> EX m::nat. (n::nat) <= b ^ m"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1307
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1308
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1309
lemma EXP_EQ_0: "((n::nat) ^ (m::nat) = (0::nat)) = (n = (0::nat) & (0::nat) < m)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1310
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1311
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1312
lemma EXP_1: "(1::nat) ^ (x::nat) = (1::nat) & x ^ (1::nat) = x"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1313
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1314
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1315
lemma MIN_MAX_EQ: "(min (x::nat) (xa::nat) = max x xa) = (x = xa)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1316
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1317
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1318
lemma MIN_MAX_LT: "(min (x::nat) (xa::nat) < max x xa) = (x ~= xa)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1319
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1320
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1321
lemma MIN_MAX_PRED: "(P::nat => bool) (m::nat) & P (n::nat) ==> P (min m n) & P (max m n)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1322
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1323
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1324
lemma MIN_LT: "(min (xa::nat) (x::nat) < xa) = (xa ~= x & min xa x = x) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1325
(min xa x < x) = (xa ~= x & min xa x = xa) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1326
(xa < min xa x) = False & (x < min xa x) = False"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1327
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1328
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1329
lemma MAX_LT: "((xa::nat) < max xa (x::nat)) = (xa ~= x & max xa x = x) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1330
(x < max xa x) = (xa ~= x & max xa x = xa) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1331
(max xa x < xa) = False & (max xa x < x) = False"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1332
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1333
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1334
lemma MIN_LE: "min (xa::nat) (x::nat) <= xa & min xa x <= x"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1335
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1336
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1337
lemma MAX_LE: "(xa::nat) <= max xa (x::nat) & x <= max xa x"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1338
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1339
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1340
lemma MIN_0: "min (x::nat) (0::nat) = (0::nat) & min (0::nat) x = (0::nat)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1341
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1342
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1343
lemma MAX_0: "max (x::nat) (0::nat) = x & max (0::nat) x = x"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1344
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1345
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1346
lemma EXISTS_GREATEST: "(Ex (P::nat => bool) & (EX x::nat. ALL y>x. ~ P y)) =
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1347
(EX x::nat. P x & (ALL y>x. ~ P y))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1348
  sorry
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  1349
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  1350
;end_setup
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  1351
46787
3d3d8f8929a7 file system structure separating HOL4 and HOL Light concerns
haftmann
parents: 46780
diff changeset
  1352
setup_theory "~~/src/HOL/Import/HOL4/Generated" hrat
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  1353
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1354
definition
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1355
  trat_1 :: "nat * nat"  where
17652
b1ef33ebfa17 Release HOL4 and HOLLight Importer.
obua
parents: 17644
diff changeset
  1356
  "trat_1 == (0, 0)"
b1ef33ebfa17 Release HOL4 and HOLLight Importer.
obua
parents: 17644
diff changeset
  1357
b1ef33ebfa17 Release HOL4 and HOLLight Importer.
obua
parents: 17644
diff changeset
  1358
lemma trat_1: "trat_1 = (0, 0)"
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1359
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1360
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1361
definition
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1362
  trat_inv :: "nat * nat => nat * nat"  where
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1363
  "trat_inv == %(x, y). (y, x)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1364
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1365
lemma trat_inv: "trat_inv (x, y) = (y, x)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1366
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1367
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1368
definition
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1369
  trat_add :: "nat * nat => nat * nat => nat * nat"  where
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  1370
  "trat_add ==
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1371
%(x, y) (x', y').
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  1372
   (PRE (Suc x * Suc y' + Suc x' * Suc y), PRE (Suc y * Suc y'))"
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  1373
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1374
lemma trat_add: "trat_add (x, y) (x', y') =
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1375
(PRE (Suc x * Suc y' + Suc x' * Suc y), PRE (Suc y * Suc y'))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1376
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1377
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1378
definition
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1379
  trat_mul :: "nat * nat => nat * nat => nat * nat"  where
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1380
  "trat_mul == %(x, y) (x', y'). (PRE (Suc x * Suc x'), PRE (Suc y * Suc y'))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1381
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1382
lemma trat_mul: "trat_mul (x, y) (x', y') = (PRE (Suc x * Suc x'), PRE (Suc y * Suc y'))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1383
  sorry
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  1384
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  1385
consts
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  1386
  trat_sucint :: "nat => nat * nat" 
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  1387
17652
b1ef33ebfa17 Release HOL4 and HOLLight Importer.
obua
parents: 17644
diff changeset
  1388
specification (trat_sucint) trat_sucint: "trat_sucint 0 = trat_1 &
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1389
(ALL n. trat_sucint (Suc n) = trat_add (trat_sucint n) trat_1)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1390
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1391
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1392
definition
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1393
  trat_eq :: "nat * nat => nat * nat => bool"  where
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1394
  "trat_eq == %(x, y) (x', y'). Suc x * Suc y' = Suc x' * Suc y"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1395
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1396
lemma trat_eq: "trat_eq (x, y) (x', y') = (Suc x * Suc y' = Suc x' * Suc y)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1397
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1398
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1399
lemma TRAT_EQ_REFL: "trat_eq p p"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1400
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1401
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1402
lemma TRAT_EQ_SYM: "trat_eq p q = trat_eq q p"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1403
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1404
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1405
lemma TRAT_EQ_TRANS: "trat_eq p q & trat_eq q r ==> trat_eq p r"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1406
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1407
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1408
lemma TRAT_EQ_AP: "p = q ==> trat_eq p q"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1409
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1410
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1411
lemma TRAT_ADD_SYM_EQ: "trat_add h i = trat_add i h"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1412
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1413
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1414
lemma TRAT_MUL_SYM_EQ: "trat_mul h i = trat_mul i h"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1415
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1416
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1417
lemma TRAT_INV_WELLDEFINED: "trat_eq p q ==> trat_eq (trat_inv p) (trat_inv q)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1418
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1419
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1420
lemma TRAT_ADD_WELLDEFINED: "trat_eq p q ==> trat_eq (trat_add p r) (trat_add q r)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1421
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1422
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1423
lemma TRAT_ADD_WELLDEFINED2: "trat_eq p1 p2 & trat_eq q1 q2 ==> trat_eq (trat_add p1 q1) (trat_add p2 q2)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1424
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1425
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1426
lemma TRAT_MUL_WELLDEFINED: "trat_eq p q ==> trat_eq (trat_mul p r) (trat_mul q r)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1427
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1428
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1429
lemma TRAT_MUL_WELLDEFINED2: "trat_eq p1 p2 & trat_eq q1 q2 ==> trat_eq (trat_mul p1 q1) (trat_mul p2 q2)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1430
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1431
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1432
lemma TRAT_ADD_SYM: "trat_eq (trat_add h i) (trat_add i h)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1433
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1434
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1435
lemma TRAT_ADD_ASSOC: "trat_eq (trat_add h (trat_add i j)) (trat_add (trat_add h i) j)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1436
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1437
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1438
lemma TRAT_MUL_SYM: "trat_eq (trat_mul h i) (trat_mul i h)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1439
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1440
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1441
lemma TRAT_MUL_ASSOC: "trat_eq (trat_mul h (trat_mul i j)) (trat_mul (trat_mul h i) j)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1442
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1443
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1444
lemma TRAT_LDISTRIB: "trat_eq (trat_mul h (trat_add i j)) (trat_add (trat_mul h i) (trat_mul h j))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1445
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1446
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1447
lemma TRAT_MUL_LID: "trat_eq (trat_mul trat_1 h) h"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1448
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1449
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1450
lemma TRAT_MUL_LINV: "trat_eq (trat_mul (trat_inv h) h) trat_1"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1451
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1452
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1453
lemma TRAT_NOZERO: "~ trat_eq (trat_add h i) h"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1454
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1455
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1456
lemma TRAT_ADD_TOTAL: "trat_eq h i |
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1457
(EX d. trat_eq h (trat_add i d)) | (EX d. trat_eq i (trat_add h d))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1458
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1459
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1460
lemma TRAT_SUCINT_0: "trat_eq (trat_sucint n) (n, 0)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1461
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1462
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1463
lemma TRAT_ARCH: "EX n d. trat_eq (trat_sucint n) (trat_add h d)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1464
  sorry
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  1465
17652
b1ef33ebfa17 Release HOL4 and HOLLight Importer.
obua
parents: 17644
diff changeset
  1466
lemma TRAT_SUCINT: "trat_eq (trat_sucint 0) trat_1 &
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1467
(ALL n. trat_eq (trat_sucint (Suc n)) (trat_add (trat_sucint n) trat_1))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1468
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1469
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1470
lemma TRAT_EQ_EQUIV: "trat_eq p q = (trat_eq p = trat_eq q)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1471
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1472
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1473
typedef (open) hrat = "{x. EX xa. x = trat_eq xa}" 
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1474
  sorry
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  1475
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  1476
lemmas hrat_TY_DEF = typedef_hol2hol4 [OF type_definition_hrat]
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  1477
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  1478
consts
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  1479
  mk_hrat :: "(nat * nat => bool) => hrat" 
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  1480
  dest_hrat :: "hrat => nat * nat => bool" 
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  1481
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1482
specification (dest_hrat mk_hrat) hrat_tybij: "(ALL a. mk_hrat (dest_hrat a) = a) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1483
(ALL r. (EX x. r = trat_eq x) = (dest_hrat (mk_hrat r) = r))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1484
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1485
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1486
definition
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1487
  hrat_1 :: "hrat"  where
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  1488
  "hrat_1 == mk_hrat (trat_eq trat_1)"
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  1489
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  1490
lemma hrat_1: "hrat_1 = mk_hrat (trat_eq trat_1)"
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1491
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1492
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1493
definition
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1494
  hrat_inv :: "hrat => hrat"  where
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1495
  "hrat_inv == %T1. mk_hrat (trat_eq (trat_inv (Eps (dest_hrat T1))))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1496
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1497
lemma hrat_inv: "hrat_inv T1 = mk_hrat (trat_eq (trat_inv (Eps (dest_hrat T1))))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1498
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1499
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1500
definition
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1501
  hrat_add :: "hrat => hrat => hrat"  where
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  1502
  "hrat_add ==
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1503
%T1 T2.
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  1504
   mk_hrat (trat_eq (trat_add (Eps (dest_hrat T1)) (Eps (dest_hrat T2))))"
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  1505
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1506
lemma hrat_add: "hrat_add T1 T2 =
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1507
mk_hrat (trat_eq (trat_add (Eps (dest_hrat T1)) (Eps (dest_hrat T2))))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1508
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1509
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1510
definition
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1511
  hrat_mul :: "hrat => hrat => hrat"  where
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  1512
  "hrat_mul ==
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1513
%T1 T2.
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  1514
   mk_hrat (trat_eq (trat_mul (Eps (dest_hrat T1)) (Eps (dest_hrat T2))))"
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1515
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1516
lemma hrat_mul: "hrat_mul T1 T2 =
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1517
mk_hrat (trat_eq (trat_mul (Eps (dest_hrat T1)) (Eps (dest_hrat T2))))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1518
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1519
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1520
definition
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1521
  hrat_sucint :: "nat => hrat"  where
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1522
  "hrat_sucint == %T1. mk_hrat (trat_eq (trat_sucint T1))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1523
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1524
lemma hrat_sucint: "hrat_sucint T1 = mk_hrat (trat_eq (trat_sucint T1))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1525
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1526
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1527
lemma HRAT_ADD_SYM: "hrat_add h i = hrat_add i h"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1528
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1529
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1530
lemma HRAT_ADD_ASSOC: "hrat_add h (hrat_add i j) = hrat_add (hrat_add h i) j"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1531
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1532
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1533
lemma HRAT_MUL_SYM: "hrat_mul h i = hrat_mul i h"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1534
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1535
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1536
lemma HRAT_MUL_ASSOC: "hrat_mul h (hrat_mul i j) = hrat_mul (hrat_mul h i) j"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1537
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1538
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1539
lemma HRAT_LDISTRIB: "hrat_mul h (hrat_add i j) = hrat_add (hrat_mul h i) (hrat_mul h j)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1540
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1541
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1542
lemma HRAT_MUL_LID: "hrat_mul hrat_1 h = h"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1543
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1544
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1545
lemma HRAT_MUL_LINV: "hrat_mul (hrat_inv h) h = hrat_1"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1546
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1547
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1548
lemma HRAT_NOZERO: "hrat_add h i ~= h"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1549
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1550
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1551
lemma HRAT_ADD_TOTAL: "h = i | (EX x. h = hrat_add i x) | (EX x. i = hrat_add h x)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1552
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1553
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1554
lemma HRAT_ARCH: "EX x xa. hrat_sucint x = hrat_add h xa"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1555
  sorry
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  1556
17652
b1ef33ebfa17 Release HOL4 and HOLLight Importer.
obua
parents: 17644
diff changeset
  1557
lemma HRAT_SUCINT: "hrat_sucint 0 = hrat_1 &
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1558
(ALL x. hrat_sucint (Suc x) = hrat_add (hrat_sucint x) hrat_1)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1559
  sorry
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  1560
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  1561
;end_setup
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  1562
46787
3d3d8f8929a7 file system structure separating HOL4 and HOL Light concerns
haftmann
parents: 46780
diff changeset
  1563
setup_theory "~~/src/HOL/Import/HOL4/Generated" hreal
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  1564
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1565
definition
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1566
  hrat_lt :: "hrat => hrat => bool"  where
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1567
  "hrat_lt == %x y. EX d. y = hrat_add x d"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1568
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1569
lemma hrat_lt: "hrat_lt x y = (EX d. y = hrat_add x d)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1570
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1571
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1572
lemma HRAT_LT_REFL: "~ hrat_lt x x"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1573
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1574
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1575
lemma HRAT_LT_TRANS: "hrat_lt x y & hrat_lt y z ==> hrat_lt x z"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1576
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1577
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1578
lemma HRAT_LT_ANTISYM: "~ (hrat_lt x y & hrat_lt y x)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1579
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1580
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1581
lemma HRAT_LT_TOTAL: "x = y | hrat_lt x y | hrat_lt y x"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1582
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1583
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1584
lemma HRAT_MUL_RID: "hrat_mul x hrat_1 = x"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1585
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1586
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1587
lemma HRAT_MUL_RINV: "hrat_mul x (hrat_inv x) = hrat_1"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1588
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1589
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1590
lemma HRAT_RDISTRIB: "hrat_mul (hrat_add x y) z = hrat_add (hrat_mul x z) (hrat_mul y z)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1591
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1592
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1593
lemma HRAT_LT_ADDL: "hrat_lt x (hrat_add x y)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1594
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1595
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1596
lemma HRAT_LT_ADDR: "hrat_lt xa (hrat_add x xa)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1597
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1598
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1599
lemma HRAT_LT_GT: "hrat_lt x y ==> ~ hrat_lt y x"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1600
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1601
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1602
lemma HRAT_LT_NE: "hrat_lt x y ==> x ~= y"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1603
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1604
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1605
lemma HRAT_EQ_LADD: "(hrat_add x y = hrat_add x z) = (y = z)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1606
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1607
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1608
lemma HRAT_EQ_LMUL: "(hrat_mul x y = hrat_mul x z) = (y = z)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1609
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1610
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1611
lemma HRAT_LT_ADD2: "hrat_lt u x & hrat_lt v y ==> hrat_lt (hrat_add u v) (hrat_add x y)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1612
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1613
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1614
lemma HRAT_LT_LADD: "hrat_lt (hrat_add z x) (hrat_add z y) = hrat_lt x y"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1615
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1616
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1617
lemma HRAT_LT_RADD: "hrat_lt (hrat_add x z) (hrat_add y z) = hrat_lt x y"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1618
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1619
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1620
lemma HRAT_LT_MUL2: "hrat_lt u x & hrat_lt v y ==> hrat_lt (hrat_mul u v) (hrat_mul x y)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1621
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1622
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1623
lemma HRAT_LT_LMUL: "hrat_lt (hrat_mul z x) (hrat_mul z y) = hrat_lt x y"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1624
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1625
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1626
lemma HRAT_LT_RMUL: "hrat_lt (hrat_mul x z) (hrat_mul y z) = hrat_lt x y"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1627
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1628
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1629
lemma HRAT_LT_LMUL1: "hrat_lt (hrat_mul x y) y = hrat_lt x hrat_1"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1630
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1631
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1632
lemma HRAT_LT_RMUL1: "hrat_lt (hrat_mul x y) x = hrat_lt y hrat_1"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1633
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1634
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1635
lemma HRAT_GT_LMUL1: "hrat_lt y (hrat_mul x y) = hrat_lt hrat_1 x"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1636
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1637
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1638
lemma HRAT_LT_L1: "hrat_lt (hrat_mul (hrat_inv x) y) hrat_1 = hrat_lt y x"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1639
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1640
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1641
lemma HRAT_LT_R1: "hrat_lt (hrat_mul x (hrat_inv y)) hrat_1 = hrat_lt x y"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1642
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1643
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1644
lemma HRAT_GT_L1: "hrat_lt hrat_1 (hrat_mul (hrat_inv x) y) = hrat_lt x y"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1645
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1646
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1647
lemma HRAT_INV_MUL: "hrat_inv (hrat_mul x y) = hrat_mul (hrat_inv x) (hrat_inv y)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1648
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1649
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1650
lemma HRAT_UP: "Ex (hrat_lt x)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1651
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1652
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1653
lemma HRAT_DOWN: "EX xa. hrat_lt xa x"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1654
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1655
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1656
lemma HRAT_DOWN2: "EX xa. hrat_lt xa x & hrat_lt xa y"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1657
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1658
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1659
lemma HRAT_MEAN: "hrat_lt x y ==> EX xa. hrat_lt x xa & hrat_lt xa y"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1660
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1661
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1662
definition
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1663
  isacut :: "(hrat => bool) => bool"  where
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  1664
  "isacut ==
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1665
%C. Ex C &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1666
    (EX x. ~ C x) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1667
    (ALL x y. C x & hrat_lt y x --> C y) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1668
    (ALL x. C x --> (EX y. C y & hrat_lt x y))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1669
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1670
lemma isacut: "isacut (CC::hrat => bool) =
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1671
(Ex CC &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1672
 (EX x::hrat. ~ CC x) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1673
 (ALL (x::hrat) y::hrat. CC x & hrat_lt y x --> CC y) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1674
 (ALL x::hrat. CC x --> (EX y::hrat. CC y & hrat_lt x y)))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1675
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1676
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1677
definition
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1678
  cut_of_hrat :: "hrat => hrat => bool"  where
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1679
  "cut_of_hrat == %x y. hrat_lt y x"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1680
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1681
lemma cut_of_hrat: "cut_of_hrat x = (%y. hrat_lt y x)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1682
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1683
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1684
lemma ISACUT_HRAT: "isacut (cut_of_hrat h)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1685
  sorry
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  1686
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  1687
typedef (open) hreal = "Collect isacut" 
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1688
  sorry
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  1689
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  1690
lemmas hreal_TY_DEF = typedef_hol2hol4 [OF type_definition_hreal]
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  1691
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  1692
consts
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  1693
  hreal :: "(hrat => bool) => hreal" 
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  1694
  cut :: "hreal => hrat => bool" 
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  1695
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1696
specification (cut hreal) hreal_tybij: "(ALL a. hreal (cut a) = a) & (ALL r. isacut r = (cut (hreal r) = r))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1697
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1698
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1699
lemma EQUAL_CUTS: "cut X = cut Y ==> X = Y"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1700
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1701
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1702
lemma CUT_ISACUT: "isacut (cut x)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1703
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1704
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1705
lemma CUT_NONEMPTY: "Ex (cut x)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1706
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1707
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1708
lemma CUT_BOUNDED: "EX xa. ~ cut x xa"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1709
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1710
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1711
lemma CUT_DOWN: "cut x xa & hrat_lt xb xa ==> cut x xb"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1712
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1713
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1714
lemma CUT_UP: "cut x xa ==> EX y. cut x y & hrat_lt xa y"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1715
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1716
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1717
lemma CUT_UBOUND: "~ cut x xa & hrat_lt xa xb ==> ~ cut x xb"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1718
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1719
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1720
lemma CUT_STRADDLE: "cut X x & ~ cut X y ==> hrat_lt x y"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1721
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1722
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1723
lemma CUT_NEARTOP_ADD: "EX x. cut X x & ~ cut X (hrat_add x e)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1724
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1725
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1726
lemma CUT_NEARTOP_MUL: "hrat_lt hrat_1 u ==> EX x. cut X x & ~ cut X (hrat_mul u x)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1727
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1728
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1729
definition
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1730
  hreal_1 :: "hreal"  where
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  1731
  "hreal_1 == hreal (cut_of_hrat hrat_1)"
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  1732
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  1733
lemma hreal_1: "hreal_1 = hreal (cut_of_hrat hrat_1)"
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1734
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1735
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1736
definition
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1737
  hreal_add :: "hreal => hreal => hreal"  where
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1738
  "hreal_add == %X Y. hreal (%w. EX x y. w = hrat_add x y & cut X x & cut Y y)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1739
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1740
lemma hreal_add: "hreal_add X Y = hreal (%w. EX x y. w = hrat_add x y & cut X x & cut Y y)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1741
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1742
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1743
definition
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1744
  hreal_mul :: "hreal => hreal => hreal"  where
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1745
  "hreal_mul == %X Y. hreal (%w. EX x y. w = hrat_mul x y & cut X x & cut Y y)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1746
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1747
lemma hreal_mul: "hreal_mul X Y = hreal (%w. EX x y. w = hrat_mul x y & cut X x & cut Y y)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1748
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1749
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1750
definition
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1751
  hreal_inv :: "hreal => hreal"  where
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  1752
  "hreal_inv ==
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1753
%X. hreal
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1754
     (%w. EX d. hrat_lt d hrat_1 &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1755
                (ALL x. cut X x --> hrat_lt (hrat_mul w x) d))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1756
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1757
lemma hreal_inv: "hreal_inv X =
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1758
hreal
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1759
 (%w. EX d. hrat_lt d hrat_1 &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1760
            (ALL x. cut X x --> hrat_lt (hrat_mul w x) d))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1761
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1762
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1763
definition
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1764
  hreal_sup :: "(hreal => bool) => hreal"  where
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1765
  "hreal_sup == %P. hreal (%w. EX X. P X & cut X w)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1766
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1767
lemma hreal_sup: "hreal_sup P = hreal (%w. EX X. P X & cut X w)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1768
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1769
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1770
definition
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1771
  hreal_lt :: "hreal => hreal => bool"  where
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1772
  "hreal_lt == %X Y. X ~= Y & (ALL x. cut X x --> cut Y x)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1773
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1774
lemma hreal_lt: "hreal_lt X Y = (X ~= Y & (ALL x. cut X x --> cut Y x))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1775
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1776
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1777
lemma HREAL_INV_ISACUT: "isacut
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1778
 (%w. EX d. hrat_lt d hrat_1 &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1779
            (ALL x. cut X x --> hrat_lt (hrat_mul w x) d))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1780
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1781
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1782
lemma HREAL_ADD_ISACUT: "isacut (%w. EX x y. w = hrat_add x y & cut X x & cut Y y)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1783
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1784
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1785
lemma HREAL_MUL_ISACUT: "isacut (%w. EX x y. w = hrat_mul x y & cut X x & cut Y y)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1786
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1787
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1788
lemma HREAL_ADD_SYM: "hreal_add X Y = hreal_add Y X"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1789
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1790
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1791
lemma HREAL_MUL_SYM: "hreal_mul X Y = hreal_mul Y X"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1792
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1793
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1794
lemma HREAL_ADD_ASSOC: "hreal_add X (hreal_add Y Z) = hreal_add (hreal_add X Y) Z"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1795
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1796
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1797
lemma HREAL_MUL_ASSOC: "hreal_mul X (hreal_mul Y Z) = hreal_mul (hreal_mul X Y) Z"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1798
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1799
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1800
lemma HREAL_LDISTRIB: "hreal_mul X (hreal_add Y Z) = hreal_add (hreal_mul X Y) (hreal_mul X Z)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1801
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1802
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1803
lemma HREAL_MUL_LID: "hreal_mul hreal_1 X = X"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1804
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1805
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1806
lemma HREAL_MUL_LINV: "hreal_mul (hreal_inv X) X = hreal_1"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1807
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1808
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1809
lemma HREAL_NOZERO: "hreal_add X Y ~= X"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1810
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1811
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1812
definition
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1813
  hreal_sub :: "hreal => hreal => hreal"  where
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1814
  "hreal_sub == %Y X. hreal (%w. EX x. ~ cut X x & cut Y (hrat_add x w))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1815
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1816
lemma hreal_sub: "hreal_sub Y X = hreal (%w. EX x. ~ cut X x & cut Y (hrat_add x w))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1817
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1818
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1819
lemma HREAL_LT_LEMMA: "hreal_lt X Y ==> EX x. ~ cut X x & cut Y x"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1820
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1821
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1822
lemma HREAL_SUB_ISACUT: "hreal_lt X Y ==> isacut (%w. EX x. ~ cut X x & cut Y (hrat_add x w))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1823
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1824
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1825
lemma HREAL_SUB_ADD: "hreal_lt X Y ==> hreal_add (hreal_sub Y X) X = Y"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1826
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1827
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1828
lemma HREAL_LT_TOTAL: "X = Y | hreal_lt X Y | hreal_lt Y X"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1829
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1830
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1831
lemma HREAL_LT: "hreal_lt X Y = (EX D. Y = hreal_add X D)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1832
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1833
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1834
lemma HREAL_ADD_TOTAL: "X = Y | (EX D. Y = hreal_add X D) | (EX D. X = hreal_add Y D)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1835
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1836
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1837
lemma HREAL_SUP_ISACUT: "Ex P & (EX Y. ALL X. P X --> hreal_lt X Y)
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1838
==> isacut (%w. EX X. P X & cut X w)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1839
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1840
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1841
lemma HREAL_SUP: "Ex P & (EX Y. ALL X. P X --> hreal_lt X Y)
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1842
==> (EX X. P X & hreal_lt Y X) = hreal_lt Y (hreal_sup P)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1843
  sorry
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  1844
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  1845
;end_setup
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  1846
46787
3d3d8f8929a7 file system structure separating HOL4 and HOL Light concerns
haftmann
parents: 46780
diff changeset
  1847
setup_theory "~~/src/HOL/Import/HOL4/Generated" numeral
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  1848
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  1849
lemma numeral_suc: "Suc ALT_ZERO = NUMERAL_BIT1 ALT_ZERO &
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1850
(ALL x. Suc (NUMERAL_BIT1 x) = NUMERAL_BIT2 x) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1851
(ALL x. Suc (NUMERAL_BIT2 x) = NUMERAL_BIT1 (Suc x))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1852
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1853
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1854
definition
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1855
  iZ :: "nat => nat"  where
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1856
  "iZ == %x. x"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1857
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1858
lemma iZ: "iZ x = x"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1859
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1860
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1861
definition
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1862
  iiSUC :: "nat => nat"  where
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1863
  "iiSUC == %n. Suc (Suc n)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1864
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1865
lemma iiSUC: "iiSUC n = Suc (Suc n)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1866
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1867
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1868
lemma numeral_distrib: "(ALL x::nat. (0::nat) + x = x) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1869
(ALL x::nat. x + (0::nat) = x) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1870
(ALL (x::nat) xa::nat. NUMERAL x + NUMERAL xa = NUMERAL (iZ (x + xa))) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1871
(ALL x::nat. (0::nat) * x = (0::nat)) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1872
(ALL x::nat. x * (0::nat) = (0::nat)) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1873
(ALL (x::nat) xa::nat. NUMERAL x * NUMERAL xa = NUMERAL (x * xa)) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1874
(ALL x::nat. (0::nat) - x = (0::nat)) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1875
(ALL x::nat. x - (0::nat) = x) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1876
(ALL (x::nat) xa::nat. NUMERAL x - NUMERAL xa = NUMERAL (x - xa)) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1877
(ALL x::nat. (0::nat) ^ NUMERAL (NUMERAL_BIT1 x) = (0::nat)) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1878
(ALL x::nat. (0::nat) ^ NUMERAL (NUMERAL_BIT2 x) = (0::nat)) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1879
(ALL x::nat. x ^ (0::nat) = (1::nat)) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1880
(ALL (x::nat) xa::nat. NUMERAL x ^ NUMERAL xa = NUMERAL (x ^ xa)) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1881
Suc (0::nat) = (1::nat) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1882
(ALL x::nat. Suc (NUMERAL x) = NUMERAL (Suc x)) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1883
PRE (0::nat) = (0::nat) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1884
(ALL x::nat. PRE (NUMERAL x) = NUMERAL (PRE x)) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1885
(ALL x::nat. (NUMERAL x = (0::nat)) = (x = ALT_ZERO)) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1886
(ALL x::nat. ((0::nat) = NUMERAL x) = (x = ALT_ZERO)) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1887
(ALL (x::nat) xa::nat. (NUMERAL x = NUMERAL xa) = (x = xa)) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1888
(ALL x::nat. (x < (0::nat)) = False) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1889
(ALL x::nat. ((0::nat) < NUMERAL x) = (ALT_ZERO < x)) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1890
(ALL (x::nat) xa::nat. (NUMERAL x < NUMERAL xa) = (x < xa)) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1891
(ALL x::nat. (x < (0::nat)) = False) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1892
(ALL x::nat. ((0::nat) < NUMERAL x) = (ALT_ZERO < x)) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1893
(ALL (x::nat) xa::nat. (NUMERAL xa < NUMERAL x) = (xa < x)) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1894
(ALL x::nat. ((0::nat) <= x) = True) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1895
(ALL x::nat. (NUMERAL x <= (0::nat)) = (x <= ALT_ZERO)) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1896
(ALL (x::nat) xa::nat. (NUMERAL x <= NUMERAL xa) = (x <= xa)) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1897
(ALL x::nat. ((0::nat) <= x) = True) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1898
(ALL x::nat. (x <= (0::nat)) = (x = (0::nat))) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1899
(ALL (x::nat) xa::nat. (NUMERAL xa <= NUMERAL x) = (xa <= x)) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1900
(ALL x::nat. ODD (NUMERAL x) = ODD x) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1901
(ALL x::nat. EVEN (NUMERAL x) = EVEN x) & ~ ODD (0::nat) & EVEN (0::nat)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1902
  sorry
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  1903
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  1904
lemma numeral_iisuc: "iiSUC ALT_ZERO = NUMERAL_BIT2 ALT_ZERO &
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1905
iiSUC (NUMERAL_BIT1 n) = NUMERAL_BIT1 (Suc n) &
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  1906
iiSUC (NUMERAL_BIT2 n) = NUMERAL_BIT2 (Suc n)"
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1907
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1908
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1909
lemma numeral_add: "iZ (ALT_ZERO + x) = x &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1910
iZ (x + ALT_ZERO) = x &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1911
iZ (NUMERAL_BIT1 x + NUMERAL_BIT1 xa) = NUMERAL_BIT2 (iZ (x + xa)) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1912
iZ (NUMERAL_BIT1 x + NUMERAL_BIT2 xa) = NUMERAL_BIT1 (Suc (x + xa)) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1913
iZ (NUMERAL_BIT2 x + NUMERAL_BIT1 xa) = NUMERAL_BIT1 (Suc (x + xa)) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1914
iZ (NUMERAL_BIT2 x + NUMERAL_BIT2 xa) = NUMERAL_BIT2 (Suc (x + xa)) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1915
Suc (ALT_ZERO + x) = Suc x &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1916
Suc (x + ALT_ZERO) = Suc x &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1917
Suc (NUMERAL_BIT1 x + NUMERAL_BIT1 xa) = NUMERAL_BIT1 (Suc (x + xa)) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1918
Suc (NUMERAL_BIT1 x + NUMERAL_BIT2 xa) = NUMERAL_BIT2 (Suc (x + xa)) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1919
Suc (NUMERAL_BIT2 x + NUMERAL_BIT1 xa) = NUMERAL_BIT2 (Suc (x + xa)) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1920
Suc (NUMERAL_BIT2 x + NUMERAL_BIT2 xa) = NUMERAL_BIT1 (iiSUC (x + xa)) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1921
iiSUC (ALT_ZERO + x) = iiSUC x &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1922
iiSUC (x + ALT_ZERO) = iiSUC x &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1923
iiSUC (NUMERAL_BIT1 x + NUMERAL_BIT1 xa) = NUMERAL_BIT2 (Suc (x + xa)) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1924
iiSUC (NUMERAL_BIT1 x + NUMERAL_BIT2 xa) = NUMERAL_BIT1 (iiSUC (x + xa)) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1925
iiSUC (NUMERAL_BIT2 x + NUMERAL_BIT1 xa) = NUMERAL_BIT1 (iiSUC (x + xa)) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1926
iiSUC (NUMERAL_BIT2 x + NUMERAL_BIT2 xa) = NUMERAL_BIT2 (iiSUC (x + xa))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1927
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1928
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1929
lemma numeral_eq: "(ALT_ZERO = NUMERAL_BIT1 x) = False &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1930
(NUMERAL_BIT1 x = ALT_ZERO) = False &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1931
(ALT_ZERO = NUMERAL_BIT2 x) = False &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1932
(NUMERAL_BIT2 x = ALT_ZERO) = False &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1933
(NUMERAL_BIT1 x = NUMERAL_BIT2 xa) = False &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1934
(NUMERAL_BIT2 x = NUMERAL_BIT1 xa) = False &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1935
(NUMERAL_BIT1 x = NUMERAL_BIT1 xa) = (x = xa) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1936
(NUMERAL_BIT2 x = NUMERAL_BIT2 xa) = (x = xa)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1937
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1938
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1939
lemma numeral_lt: "(ALT_ZERO < NUMERAL_BIT1 x) = True &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1940
(ALT_ZERO < NUMERAL_BIT2 x) = True &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1941
(x < ALT_ZERO) = False &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1942
(NUMERAL_BIT1 x < NUMERAL_BIT1 xa) = (x < xa) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1943
(NUMERAL_BIT2 x < NUMERAL_BIT2 xa) = (x < xa) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1944
(NUMERAL_BIT1 x < NUMERAL_BIT2 xa) = (~ xa < x) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1945
(NUMERAL_BIT2 x < NUMERAL_BIT1 xa) = (x < xa)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1946
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1947
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1948
lemma numeral_lte: "(ALT_ZERO <= x) = True &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1949
(NUMERAL_BIT1 x <= ALT_ZERO) = False &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1950
(NUMERAL_BIT2 x <= ALT_ZERO) = False &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1951
(NUMERAL_BIT1 x <= NUMERAL_BIT1 xa) = (x <= xa) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1952
(NUMERAL_BIT1 x <= NUMERAL_BIT2 xa) = (x <= xa) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1953
(NUMERAL_BIT2 x <= NUMERAL_BIT1 xa) = (~ xa <= x) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1954
(NUMERAL_BIT2 x <= NUMERAL_BIT2 xa) = (x <= xa)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1955
  sorry
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  1956
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  1957
lemma numeral_pre: "PRE ALT_ZERO = ALT_ZERO &
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  1958
PRE (NUMERAL_BIT1 ALT_ZERO) = ALT_ZERO &
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1959
(ALL x.
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  1960
    PRE (NUMERAL_BIT1 (NUMERAL_BIT1 x)) =
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  1961
    NUMERAL_BIT2 (PRE (NUMERAL_BIT1 x))) &
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1962
(ALL x.
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  1963
    PRE (NUMERAL_BIT1 (NUMERAL_BIT2 x)) = NUMERAL_BIT2 (NUMERAL_BIT1 x)) &
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1964
(ALL x. PRE (NUMERAL_BIT2 x) = NUMERAL_BIT1 x)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1965
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1966
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1967
lemma bit_initiality: "EX x. x ALT_ZERO = zf &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1968
      (ALL n. x (NUMERAL_BIT1 n) = b1f n (x n)) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1969
      (ALL n. x (NUMERAL_BIT2 n) = b2f n (x n))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1970
  sorry
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  1971
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  1972
consts
17652
b1ef33ebfa17 Release HOL4 and HOLLight Importer.
obua
parents: 17644
diff changeset
  1973
  iBIT_cases :: "nat => 'a => (nat => 'a) => (nat => 'a) => 'a" 
17644
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
  1974
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1975
specification (iBIT_cases) iBIT_cases: "(ALL (zf::'a) (bf1::nat => 'a) bf2::nat => 'a.
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  1976
    iBIT_cases ALT_ZERO zf bf1 bf2 = zf) &
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1977
(ALL (n::nat) (zf::'a) (bf1::nat => 'a) bf2::nat => 'a.
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  1978
    iBIT_cases (NUMERAL_BIT1 n) zf bf1 bf2 = bf1 n) &
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1979
(ALL (n::nat) (zf::'a) (bf1::nat => 'a) bf2::nat => 'a.
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  1980
    iBIT_cases (NUMERAL_BIT2 n) zf bf1 bf2 = bf2 n)"
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1981
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1982
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1983
definition
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1984
  iDUB :: "nat => nat"  where
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1985
  "iDUB == %x. x + x"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1986
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1987
lemma iDUB: "iDUB x = x + x"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1988
  sorry
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  1989
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  1990
consts
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  1991
  iSUB :: "bool => nat => nat => nat" 
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  1992
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1993
specification (iSUB) iSUB_DEF: "(ALL b x. iSUB b ALT_ZERO x = ALT_ZERO) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1994
(ALL b n x.
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  1995
    iSUB b (NUMERAL_BIT1 n) x =
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  1996
    (if b
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1997
     then iBIT_cases x (NUMERAL_BIT1 n) (%m. iDUB (iSUB True n m))
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1998
           (%m. NUMERAL_BIT1 (iSUB False n m))
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  1999
     else iBIT_cases x (iDUB n) (%m. NUMERAL_BIT1 (iSUB False n m))
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2000
           (%m. iDUB (iSUB False n m)))) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2001
(ALL b n x.
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  2002
    iSUB b (NUMERAL_BIT2 n) x =
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  2003
    (if b
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2004
     then iBIT_cases x (NUMERAL_BIT2 n) (%m. NUMERAL_BIT1 (iSUB True n m))
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2005
           (%m. iDUB (iSUB True n m))
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2006
     else iBIT_cases x (NUMERAL_BIT1 n) (%m. iDUB (iSUB True n m))
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2007
           (%m. NUMERAL_BIT1 (iSUB False n m))))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2008
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2009
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2010
lemma bit_induction: "P ALT_ZERO &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2011
(ALL n. P n --> P (NUMERAL_BIT1 n)) & (ALL n. P n --> P (NUMERAL_BIT2 n))
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2012
==> P x"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2013
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2014
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2015
lemma iSUB_THM: "iSUB (x::bool) ALT_ZERO (xn::nat) = ALT_ZERO &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2016
iSUB True (xa::nat) ALT_ZERO = xa &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2017
iSUB False (NUMERAL_BIT1 xa) ALT_ZERO = iDUB xa &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2018
iSUB True (NUMERAL_BIT1 xa) (NUMERAL_BIT1 (xb::nat)) =
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2019
iDUB (iSUB True xa xb) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2020
iSUB False (NUMERAL_BIT1 xa) (NUMERAL_BIT1 xb) =
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2021
NUMERAL_BIT1 (iSUB False xa xb) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2022
iSUB True (NUMERAL_BIT1 xa) (NUMERAL_BIT2 xb) =
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2023
NUMERAL_BIT1 (iSUB False xa xb) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2024
iSUB False (NUMERAL_BIT1 xa) (NUMERAL_BIT2 xb) = iDUB (iSUB False xa xb) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2025
iSUB False (NUMERAL_BIT2 xa) ALT_ZERO = NUMERAL_BIT1 xa &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2026
iSUB True (NUMERAL_BIT2 xa) (NUMERAL_BIT1 xb) =
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2027
NUMERAL_BIT1 (iSUB True xa xb) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2028
iSUB False (NUMERAL_BIT2 xa) (NUMERAL_BIT1 xb) = iDUB (iSUB True xa xb) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2029
iSUB True (NUMERAL_BIT2 xa) (NUMERAL_BIT2 xb) = iDUB (iSUB True xa xb) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2030
iSUB False (NUMERAL_BIT2 xa) (NUMERAL_BIT2 xb) =
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2031
NUMERAL_BIT1 (iSUB False xa xb)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2032
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2033
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2034
lemma numeral_sub: "NUMERAL (x - xa) = (if xa < x then NUMERAL (iSUB True x xa) else 0)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2035
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2036
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2037
lemma iDUB_removal: "iDUB (NUMERAL_BIT1 x) = NUMERAL_BIT2 (iDUB x) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2038
iDUB (NUMERAL_BIT2 x) = NUMERAL_BIT2 (NUMERAL_BIT1 x) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2039
iDUB ALT_ZERO = ALT_ZERO"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2040
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2041
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2042
lemma numeral_mult: "ALT_ZERO * x = ALT_ZERO &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2043
x * ALT_ZERO = ALT_ZERO &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2044
NUMERAL_BIT1 x * xa = iZ (iDUB (x * xa) + xa) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2045
NUMERAL_BIT2 x * xa = iDUB (iZ (x * xa + xa))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2046
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2047
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2048
definition
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2049
  iSQR :: "nat => nat"  where
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2050
  "iSQR == %x. x * x"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2051
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2052
lemma iSQR: "iSQR x = x * x"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2053
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2054
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2055
lemma numeral_exp: "(ALL x. x ^ ALT_ZERO = NUMERAL_BIT1 ALT_ZERO) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2056
(ALL x xa. x ^ NUMERAL_BIT1 xa = x * iSQR (x ^ xa)) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2057
(ALL x xa. x ^ NUMERAL_BIT2 xa = iSQR x * iSQR (x ^ xa))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2058
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2059
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2060
lemma numeral_evenodd: "EVEN ALT_ZERO &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2061
EVEN (NUMERAL_BIT2 x) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2062
~ EVEN (NUMERAL_BIT1 x) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2063
~ ODD ALT_ZERO & ~ ODD (NUMERAL_BIT2 x) & ODD (NUMERAL_BIT1 x)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2064
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2065
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2066
lemma numeral_fact: "FACT n = (if n = 0 then 1 else n * FACT (PRE n))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2067
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2068
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2069
lemma numeral_funpow: "(f ^^ n) x = (if n = 0 then x else (f ^^ (n - 1)) (f x))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2070
  sorry
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  2071
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  2072
;end_setup
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  2073
46787
3d3d8f8929a7 file system structure separating HOL4 and HOL Light concerns
haftmann
parents: 46780
diff changeset
  2074
setup_theory "~~/src/HOL/Import/HOL4/Generated" ind_type
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  2075
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2076
lemma INJ_INVERSE2: "(!!(x1::'A) (y1::'B) (x2::'A) y2::'B.
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2077
    ((P::'A => 'B => 'C) x1 y1 = P x2 y2) = (x1 = x2 & y1 = y2))
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2078
==> EX (x::'C => 'A) Y::'C => 'B.
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2079
       ALL (xa::'A) y::'B. x (P xa y) = xa & Y (P xa y) = y"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2080
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2081
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2082
definition
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2083
  NUMPAIR :: "nat => nat => nat"  where
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2084
  "NUMPAIR == %x y. 2 ^ x * (2 * y + 1)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2085
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2086
lemma NUMPAIR: "NUMPAIR x y = 2 ^ x * (2 * y + 1)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2087
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2088
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2089
lemma NUMPAIR_INJ_LEMMA: "NUMPAIR x xa = NUMPAIR xb xc ==> x = xb"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2090
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2091
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2092
lemma NUMPAIR_INJ: "(NUMPAIR x1 y1 = NUMPAIR x2 y2) = (x1 = x2 & y1 = y2)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2093
  sorry
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  2094
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  2095
consts
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  2096
  NUMSND :: "nat => nat" 
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  2097
  NUMFST :: "nat => nat" 
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  2098
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2099
specification (NUMFST NUMSND) NUMPAIR_DEST: "ALL x y. NUMFST (NUMPAIR x y) = x & NUMSND (NUMPAIR x y) = y"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2100
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2101
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2102
definition
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2103
  NUMSUM :: "bool => nat => nat"  where
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2104
  "NUMSUM == %b x. if b then Suc (2 * x) else 2 * x"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2105
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2106
lemma NUMSUM: "NUMSUM b x = (if b then Suc (2 * x) else 2 * x)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2107
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2108
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2109
lemma NUMSUM_INJ: "(NUMSUM b1 x1 = NUMSUM b2 x2) = (b1 = b2 & x1 = x2)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2110
  sorry
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  2111
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  2112
consts
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  2113
  NUMRIGHT :: "nat => nat" 
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  2114
  NUMLEFT :: "nat => bool" 
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  2115
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2116
specification (NUMLEFT NUMRIGHT) NUMSUM_DEST: "ALL x y. NUMLEFT (NUMSUM x y) = x & NUMRIGHT (NUMSUM x y) = y"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2117
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2118
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2119
definition
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2120
  INJN :: "nat => nat => 'a => bool"  where
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2121
  "INJN == %m n a. n = m"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2122
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2123
lemma INJN: "INJN m = (%n a. n = m)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2124
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2125
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2126
lemma INJN_INJ: "(INJN n1 = INJN n2) = (n1 = n2)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2127
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2128
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2129
definition
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2130
  INJA :: "'a => nat => 'a => bool"  where
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2131
  "INJA == %a n b. b = a"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2132
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2133
lemma INJA: "INJA a = (%n b. b = a)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2134
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2135
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2136
lemma INJA_INJ: "(INJA a1 = INJA a2) = (a1 = a2)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2137
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2138
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2139
definition
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2140
  INJF :: "(nat => nat => 'a => bool) => nat => 'a => bool"  where
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2141
  "INJF == %f n. f (NUMFST n) (NUMSND n)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2142
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2143
lemma INJF: "INJF f = (%n. f (NUMFST n) (NUMSND n))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2144
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2145
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2146
lemma INJF_INJ: "(INJF f1 = INJF f2) = (f1 = f2)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2147
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2148
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2149
definition
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2150
  INJP :: "(nat => 'a => bool) => (nat => 'a => bool) => nat => 'a => bool"  where
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  2151
  "INJP ==
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2152
%f1 f2 n a. if NUMLEFT n then f1 (NUMRIGHT n) a else f2 (NUMRIGHT n) a"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2153
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2154
lemma INJP: "INJP f1 f2 =
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2155
(%n a. if NUMLEFT n then f1 (NUMRIGHT n) a else f2 (NUMRIGHT n) a)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2156
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2157
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2158
lemma INJP_INJ: "(INJP f1 f2 = INJP f1' f2') = (f1 = f1' & f2 = f2')"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2159
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2160
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2161
definition
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2162
  ZCONSTR :: "nat => 'a => (nat => nat => 'a => bool) => nat => 'a => bool"  where
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2163
  "ZCONSTR == %c i r. INJP (INJN (Suc c)) (INJP (INJA i) (INJF r))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2164
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2165
lemma ZCONSTR: "ZCONSTR c i r = INJP (INJN (Suc c)) (INJP (INJA i) (INJF r))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2166
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2167
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2168
definition
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2169
  ZBOT :: "nat => 'a => bool"  where
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2170
  "ZBOT == INJP (INJN 0) (SOME z. True)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2171
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2172
lemma ZBOT: "ZBOT = INJP (INJN 0) (SOME z. True)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2173
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2174
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2175
lemma ZCONSTR_ZBOT: "ZCONSTR x xa xb ~= ZBOT"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2176
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2177
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2178
definition
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2179
  ZRECSPACE :: "(nat => 'a => bool) => bool"  where
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  2180
  "ZRECSPACE ==
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2181
%a0. ALL ZRECSPACE'.
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2182
        (ALL a0.
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2183
            a0 = ZBOT |
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2184
            (EX c i r. a0 = ZCONSTR c i r & (ALL n. ZRECSPACE' (r n))) -->
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2185
            ZRECSPACE' a0) -->
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2186
        ZRECSPACE' a0"
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  2187
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  2188
lemma ZRECSPACE: "ZRECSPACE =
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2189
(%a0. ALL ZRECSPACE'.
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2190
         (ALL a0.
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2191
             a0 = ZBOT |
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2192
             (EX c i r. a0 = ZCONSTR c i r & (ALL n. ZRECSPACE' (r n))) -->
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2193
             ZRECSPACE' a0) -->
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2194
         ZRECSPACE' a0)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2195
  sorry
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  2196
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  2197
lemma ZRECSPACE_rules: "(op &::bool => bool => bool)
17644
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
  2198
 ((ZRECSPACE::(nat => 'a::type => bool) => bool)
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
  2199
   (ZBOT::nat => 'a::type => bool))
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  2200
 ((All::(nat => bool) => bool)
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  2201
   (%c::nat.
17644
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
  2202
       (All::('a::type => bool) => bool)
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
  2203
        (%i::'a::type.
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
  2204
            (All::((nat => nat => 'a::type => bool) => bool) => bool)
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
  2205
             (%r::nat => nat => 'a::type => bool.
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  2206
                 (op -->::bool => bool => bool)
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  2207
                  ((All::(nat => bool) => bool)
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  2208
                    (%n::nat.
17644
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
  2209
                        (ZRECSPACE::(nat => 'a::type => bool) => bool)
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
  2210
                         (r n)))
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
  2211
                  ((ZRECSPACE::(nat => 'a::type => bool) => bool)
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  2212
                    ((ZCONSTR::nat
17644
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
  2213
                               => 'a::type
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
  2214
                                  => (nat => nat => 'a::type => bool)
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
  2215
                                     => nat => 'a::type => bool)
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  2216
                      c i r))))))"
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2217
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2218
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2219
lemma ZRECSPACE_ind: "[| x ZBOT & (ALL c i r. (ALL n. x (r n)) --> x (ZCONSTR c i r));
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2220
   ZRECSPACE a0 |]
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2221
==> x a0"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2222
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2223
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2224
lemma ZRECSPACE_cases: "ZRECSPACE a0 =
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2225
(a0 = ZBOT | (EX c i r. a0 = ZCONSTR c i r & (ALL n. ZRECSPACE (r n))))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2226
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2227
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2228
typedef (open) ('a) recspace = "Collect ZRECSPACE :: (nat \<Rightarrow> 'a\<Colon>type \<Rightarrow> bool) set"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2229
  sorry
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  2230
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  2231
lemmas recspace_TY_DEF = typedef_hol2hol4 [OF type_definition_recspace]
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  2232
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  2233
consts
17652
b1ef33ebfa17 Release HOL4 and HOLLight Importer.
obua
parents: 17644
diff changeset
  2234
  mk_rec :: "(nat => 'a => bool) => 'a recspace" 
b1ef33ebfa17 Release HOL4 and HOLLight Importer.
obua
parents: 17644
diff changeset
  2235
  dest_rec :: "'a recspace => nat => 'a => bool" 
17644
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
  2236
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2237
specification (dest_rec mk_rec) recspace_repfns: "(ALL a::'a recspace. mk_rec (dest_rec a) = a) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2238
(ALL r::nat => 'a => bool. ZRECSPACE r = (dest_rec (mk_rec r) = r))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2239
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2240
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2241
definition
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2242
  BOTTOM :: "'a recspace"  where
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  2243
  "BOTTOM == mk_rec ZBOT"
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  2244
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  2245
lemma BOTTOM: "BOTTOM = mk_rec ZBOT"
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2246
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2247
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2248
definition
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2249
  CONSTR :: "nat => 'a => (nat => 'a recspace) => 'a recspace"  where
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2250
  "CONSTR == %c i r. mk_rec (ZCONSTR c i (%n. dest_rec (r n)))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2251
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2252
lemma CONSTR: "CONSTR c i r = mk_rec (ZCONSTR c i (%n. dest_rec (r n)))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2253
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2254
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2255
lemma MK_REC_INJ: "[| mk_rec x = mk_rec y; ZRECSPACE x & ZRECSPACE y |] ==> x = y"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2256
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2257
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2258
lemma DEST_REC_INJ: "(dest_rec x = dest_rec y) = (x = y)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2259
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2260
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2261
lemma CONSTR_BOT: "CONSTR c i r ~= BOTTOM"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2262
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2263
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2264
lemma CONSTR_INJ: "(CONSTR c1 i1 r1 = CONSTR c2 i2 r2) = (c1 = c2 & i1 = i2 & r1 = r2)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2265
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2266
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2267
lemma CONSTR_IND: "P BOTTOM & (ALL c i r. (ALL n. P (r n)) --> P (CONSTR c i r)) ==> P x"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2268
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2269
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2270
lemma CONSTR_REC: "EX f. ALL c i r. f (CONSTR c i r) = Fn c i r (%n. f (r n))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2271
  sorry
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  2272
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  2273
consts
17652
b1ef33ebfa17 Release HOL4 and HOLLight Importer.
obua
parents: 17644
diff changeset
  2274
  FCONS :: "'a => (nat => 'a) => nat => 'a" 
b1ef33ebfa17 Release HOL4 and HOLLight Importer.
obua
parents: 17644
diff changeset
  2275
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2276
specification (FCONS) FCONS: "(ALL (a::'a) f::nat => 'a. FCONS a f (0::nat) = a) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2277
(ALL (a::'a) (f::nat => 'a) n::nat. FCONS a f (Suc n) = f n)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2278
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2279
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2280
definition
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2281
  FNIL :: "nat => 'a"  where
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2282
  "FNIL == %n. SOME x. True"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2283
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2284
lemma FNIL: "FNIL n = (SOME x. True)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2285
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2286
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2287
definition
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2288
  ISO :: "('a => 'b) => ('b => 'a) => bool"  where
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2289
  "ISO == %f g. (ALL x. f (g x) = x) & (ALL y. g (f y) = y)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2290
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2291
lemma ISO: "ISO f g = ((ALL x. f (g x) = x) & (ALL y. g (f y) = y))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2292
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2293
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2294
lemma ISO_REFL: "ISO (%x. x) (%x. x)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2295
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2296
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2297
lemma ISO_FUN: "ISO (f::'a => 'c) (f'::'c => 'a) & ISO (g::'b => 'd) (g'::'d => 'b)
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2298
==> ISO (%(h::'a => 'b) a'::'c. g (h (f' a')))
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2299
     (%(h::'c => 'd) a::'a. g' (h (f a)))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2300
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2301
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2302
lemma ISO_USAGE: "ISO f g
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2303
==> (ALL P. All P = (ALL x. P (g x))) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2304
    (ALL P. Ex P = (EX x. P (g x))) & (ALL a b. (a = g b) = (f a = b))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2305
  sorry
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  2306
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  2307
;end_setup
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  2308
46787
3d3d8f8929a7 file system structure separating HOL4 and HOL Light concerns
haftmann
parents: 46780
diff changeset
  2309
setup_theory "~~/src/HOL/Import/HOL4/Generated" divides
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  2310
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2311
lemma DIVIDES_FACT: "0 < b ==> b dvd FACT b"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2312
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2313
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2314
lemma DIVIDES_MULT_LEFT: "((x::nat) * (xa::nat) dvd xa) = (xa = (0::nat) | x = (1::nat))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2315
  sorry
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  2316
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  2317
;end_setup
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  2318
46787
3d3d8f8929a7 file system structure separating HOL4 and HOL Light concerns
haftmann
parents: 46780
diff changeset
  2319
setup_theory "~~/src/HOL/Import/HOL4/Generated" prime
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  2320
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  2321
consts
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  2322
  prime :: "nat => bool" 
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  2323
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  2324
defs
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2325
  prime_primdef: "prime.prime == %a. a ~= 1 & (ALL b. b dvd a --> b = a | b = 1)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2326
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2327
lemma prime_def: "prime.prime a = (a ~= 1 & (ALL b. b dvd a --> b = a | b = 1))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2328
  sorry
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  2329
17652
b1ef33ebfa17 Release HOL4 and HOLLight Importer.
obua
parents: 17644
diff changeset
  2330
lemma NOT_PRIME_0: "~ prime.prime 0"
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2331
  sorry
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  2332
17652
b1ef33ebfa17 Release HOL4 and HOLLight Importer.
obua
parents: 17644
diff changeset
  2333
lemma NOT_PRIME_1: "~ prime.prime 1"
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2334
  sorry
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  2335
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  2336
;end_setup
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  2337
46787
3d3d8f8929a7 file system structure separating HOL4 and HOL Light concerns
haftmann
parents: 46780
diff changeset
  2338
setup_theory "~~/src/HOL/Import/HOL4/Generated" list
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  2339
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  2340
consts
17652
b1ef33ebfa17 Release HOL4 and HOLLight Importer.
obua
parents: 17644
diff changeset
  2341
  EL :: "nat => 'a list => 'a" 
b1ef33ebfa17 Release HOL4 and HOLLight Importer.
obua
parents: 17644
diff changeset
  2342
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2343
specification (EL) EL: "(ALL l::'a list. EL (0::nat) l = hd l) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2344
(ALL (l::'a list) n::nat. EL (Suc n) l = EL n (tl l))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2345
  sorry
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  2346
17644
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
  2347
lemma NULL: "(op &::bool => bool => bool)
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2348
 ((List.null::'a::type list => bool) ([]::'a::type list))
17644
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
  2349
 ((All::('a::type => bool) => bool)
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
  2350
   (%x::'a::type.
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
  2351
       (All::('a::type list => bool) => bool)
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
  2352
        (%xa::'a::type list.
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  2353
            (Not::bool => bool)
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2354
             ((List.null::'a::type list => bool)
17644
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
  2355
               ((op #::'a::type => 'a::type list => 'a::type list) x xa)))))"
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2356
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2357
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2358
lemma list_case_compute: "list_case (b::'b) (f::'a => 'a list => 'b) (l::'a list) =
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2359
(if List.null l then b else f (hd l) (tl l))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2360
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2361
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2362
lemma LIST_NOT_EQ: "l1 ~= l2 ==> x # l1 ~= xa # l2"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2363
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2364
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2365
lemma NOT_EQ_LIST: "h1 ~= h2 ==> h1 # x ~= h2 # xa"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2366
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2367
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2368
lemma EQ_LIST: "[| h1 = h2; l1 = l2 |] ==> h1 # l1 = h2 # l2"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2369
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2370
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2371
lemma CONS: "~ List.null l ==> hd l # tl l = l"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2372
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2373
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2374
lemma MAP_EQ_NIL: "(map (f::'a => 'b) (l::'a list) = []) = (l = []) & ([] = map f l) = (l = [])"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2375
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2376
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2377
lemma EVERY_EL: "list_all P l = (ALL n<length l. P (EL n l))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2378
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2379
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2380
lemma EVERY_CONJ: "list_all (%x. P x & Q x) l = (list_all P l & list_all Q l)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2381
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2382
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2383
lemma EVERY_MEM: "list_all P l = (ALL e. List.member l e --> P e)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2384
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2385
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2386
lemma EXISTS_MEM: "list_ex P l = (EX e. List.member l e & P e)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2387
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2388
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2389
lemma MEM_APPEND: "List.member (l1 @ l2) e = (List.member l1 e | List.member l2 e)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2390
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2391
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2392
lemma NOT_EVERY: "(~ list_all P l) = list_ex (Not o P) l"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2393
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2394
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2395
lemma NOT_EXISTS: "(~ list_ex P l) = list_all (Not o P) l"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2396
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2397
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2398
lemma MEM_MAP: "List.member (map (f::'a => 'b) (l::'a list)) (x::'b) =
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2399
(EX y::'a. x = f y & List.member l y)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2400
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2401
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2402
lemma LENGTH_CONS: "(length l = Suc n) = (EX h l'. length l' = n & l = h # l')"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2403
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2404
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2405
lemma LENGTH_EQ_CONS: "(ALL l. length l = Suc n --> P l) =
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2406
(ALL l. length l = n --> (ALL x. P (x # l)))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2407
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2408
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2409
lemma LENGTH_EQ_NIL: "(ALL l. length l = 0 --> P l) = P []"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2410
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2411
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2412
lemma CONS_ACYCLIC: "l ~= x # l & x # l ~= l"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2413
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2414
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2415
lemma APPEND_eq_NIL: "(ALL (l1::'a list) l2::'a list. ([] = l1 @ l2) = (l1 = [] & l2 = [])) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2416
(ALL (l1::'a list) l2::'a list. (l1 @ l2 = []) = (l1 = [] & l2 = []))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2417
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2418
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2419
lemma APPEND_11: "(ALL (l1::'a list) (l2::'a list) l3::'a list.
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  2420
    (l1 @ l2 = l1 @ l3) = (l2 = l3)) &
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2421
(ALL (l1::'a list) (l2::'a list) l3::'a list.
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  2422
    (l2 @ l1 = l3 @ l1) = (l2 = l3))"
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2423
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2424
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2425
lemma EL_compute: "EL n l = (if n = 0 then hd l else EL (PRE n) (tl l))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2426
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2427
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2428
lemma WF_LIST_PRED: "WF (%L1 L2. EX h. L2 = h # L1)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2429
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2430
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2431
lemma list_size_cong: "M = N & (ALL x. List.member N x --> f x = f' x)
46787
3d3d8f8929a7 file system structure separating HOL4 and HOL Light concerns
haftmann
parents: 46780
diff changeset
  2432
==> Compatibility.list_size f M = Compatibility.list_size f' N"
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2433
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2434
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2435
lemma FOLDR_CONG: "l = l' & b = b' & (ALL x a. List.member l' x --> f x a = f' x a)
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2436
==> foldr f l b = foldr f' l' b'"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2437
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2438
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2439
lemma FOLDL_CONG: "l = l' & b = b' & (ALL x a. List.member l' x --> f a x = f' a x)
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2440
==> foldl f b l = foldl f' b' l'"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2441
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2442
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2443
lemma MAP_CONG: "l1 = l2 & (ALL x. List.member l2 x --> f x = f' x) ==> map f l1 = map f' l2"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2444
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2445
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2446
lemma EXISTS_CONG: "l1 = l2 & (ALL x. List.member l2 x --> P x = P' x)
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2447
==> list_ex P l1 = list_ex P' l2"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2448
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2449
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2450
lemma EVERY_CONG: "l1 = l2 & (ALL x. List.member l2 x --> P x = P' x)
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2451
==> list_all P l1 = list_all P' l2"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2452
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2453
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2454
lemma EVERY_MONOTONIC: "[| !!x. P x ==> Q x; list_all P l |] ==> list_all Q l"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2455
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2456
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2457
lemma LENGTH_ZIP: "length l1 = length l2
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2458
==> length (zip l1 l2) = length l1 & length (zip l1 l2) = length l2"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2459
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2460
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2461
lemma LENGTH_UNZIP: "length (fst (unzip pl)) = length pl & length (snd (unzip pl)) = length pl"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2462
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2463
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2464
lemma ZIP_UNZIP: "ZIP (unzip l) = l"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2465
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2466
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2467
lemma UNZIP_ZIP: "length l1 = length l2 ==> unzip (zip l1 l2) = (l1, l2)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2468
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2469
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2470
lemma ZIP_MAP: "length l1 = length l2
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2471
==> zip (map f1 l1) l2 = map (%p. (f1 (fst p), snd p)) (zip l1 l2) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2472
    zip l1 (map f2 l2) = map (%p. (fst p, f2 (snd p))) (zip l1 l2)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2473
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2474
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2475
lemma MEM_ZIP: "length l1 = length l2
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2476
==> List.member (zip l1 l2) p = (EX n<length l1. p = (EL n l1, EL n l2))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2477
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2478
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2479
lemma EL_ZIP: "length l1 = length l2 & n < length l1
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2480
==> EL n (zip l1 l2) = (EL n l1, EL n l2)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2481
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2482
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2483
lemma MAP2_ZIP: "length l1 = length l2 ==> map2 f l1 l2 = map (%(x, y). f x y) (zip l1 l2)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2484
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2485
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2486
lemma MEM_EL: "List.member l x = (EX n<length l. x = EL n l)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2487
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2488
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2489
lemma LAST_CONS: "(ALL x::'a. last [x] = x) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2490
(ALL (x::'a) (xa::'a) xb::'a list. last (x # xa # xb) = last (xa # xb))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2491
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2492
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2493
lemma FRONT_CONS: "(ALL x::'a. butlast [x] = []) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2494
(ALL (x::'a) (xa::'a) xb::'a list.
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  2495
    butlast (x # xa # xb) = x # butlast (xa # xb))"
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2496
  sorry
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  2497
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  2498
;end_setup
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  2499
46787
3d3d8f8929a7 file system structure separating HOL4 and HOL Light concerns
haftmann
parents: 46780
diff changeset
  2500
setup_theory "~~/src/HOL/Import/HOL4/Generated" pred_set
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  2501
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2502
lemma EXTENSION: "(s = t) = (ALL x. IN x s = IN x t)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2503
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2504
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2505
lemma NOT_EQUAL_SETS: "(x ~= xa) = (EX xb. IN xb xa = (~ IN xb x))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2506
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2507
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2508
lemma NUM_SET_WOP: "(EX n::nat. IN n (s::nat => bool)) =
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2509
(EX n::nat. IN n s & (ALL m::nat. IN m s --> n <= m))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2510
  sorry
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  2511
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  2512
consts
17652
b1ef33ebfa17 Release HOL4 and HOLLight Importer.
obua
parents: 17644
diff changeset
  2513
  GSPEC :: "('b => 'a * bool) => 'a => bool" 
17644
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
  2514
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2515
specification (GSPEC) GSPECIFICATION: "ALL (f::'b => 'a * bool) v::'a. IN v (GSPEC f) = (EX x::'b. (v, True) = f x)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2516
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2517
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2518
lemma SET_MINIMUM: "(EX x::'a. IN x (s::'a => bool)) =
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2519
(EX x::'a. IN x s & (ALL y::'a. IN y s --> (M::'a => nat) x <= M y))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2520
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2521
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2522
definition
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2523
  EMPTY :: "'a => bool"  where
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2524
  "EMPTY == %x. False"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2525
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2526
lemma EMPTY_DEF: "EMPTY = (%x. False)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2527
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2528
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2529
lemma NOT_IN_EMPTY: "~ IN x EMPTY"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2530
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2531
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2532
lemma MEMBER_NOT_EMPTY: "(EX xa. IN xa x) = (x ~= EMPTY)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2533
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2534
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2535
definition
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2536
  UNIV :: "'a => bool"  where
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2537
  "UNIV == %x. True"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2538
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2539
lemma UNIV_DEF: "pred_set.UNIV = (%x. True)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2540
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2541
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2542
lemma IN_UNIV: "IN x pred_set.UNIV"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2543
  sorry
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  2544
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  2545
lemma UNIV_NOT_EMPTY: "pred_set.UNIV ~= EMPTY"
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2546
  sorry
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  2547
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  2548
lemma EMPTY_NOT_UNIV: "EMPTY ~= pred_set.UNIV"
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2549
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2550
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2551
lemma EQ_UNIV: "(ALL x. IN x s) = (s = pred_set.UNIV)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2552
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2553
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2554
definition
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2555
  SUBSET :: "('a => bool) => ('a => bool) => bool"  where
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2556
  "SUBSET == %s t. ALL x. IN x s --> IN x t"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2557
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2558
lemma SUBSET_DEF: "SUBSET s t = (ALL x. IN x s --> IN x t)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2559
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2560
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2561
lemma SUBSET_TRANS: "SUBSET x xa & SUBSET xa xb ==> SUBSET x xb"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2562
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2563
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2564
lemma SUBSET_REFL: "SUBSET x x"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2565
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2566
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2567
lemma SUBSET_ANTISYM: "SUBSET x xa & SUBSET xa x ==> x = xa"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2568
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2569
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2570
lemma EMPTY_SUBSET: "SUBSET EMPTY x"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2571
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2572
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2573
lemma SUBSET_EMPTY: "SUBSET x EMPTY = (x = EMPTY)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2574
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2575
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2576
lemma SUBSET_UNIV: "SUBSET x pred_set.UNIV"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2577
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2578
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2579
lemma UNIV_SUBSET: "SUBSET pred_set.UNIV x = (x = pred_set.UNIV)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2580
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2581
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2582
definition
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2583
  PSUBSET :: "('a => bool) => ('a => bool) => bool"  where
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2584
  "PSUBSET == %s t. SUBSET s t & s ~= t"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2585
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2586
lemma PSUBSET_DEF: "PSUBSET s t = (SUBSET s t & s ~= t)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2587
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2588
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2589
lemma PSUBSET_TRANS: "PSUBSET x xa & PSUBSET xa xb ==> PSUBSET x xb"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2590
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2591
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2592
lemma PSUBSET_IRREFL: "~ PSUBSET x x"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2593
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2594
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2595
lemma NOT_PSUBSET_EMPTY: "~ PSUBSET x EMPTY"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2596
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2597
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2598
lemma NOT_UNIV_PSUBSET: "~ PSUBSET pred_set.UNIV x"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2599
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2600
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2601
lemma PSUBSET_UNIV: "PSUBSET x pred_set.UNIV = (EX xa. ~ IN xa x)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2602
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2603
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2604
definition
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2605
  UNION :: "('a => bool) => ('a => bool) => 'a => bool"  where
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2606
  "UNION == %s t. GSPEC (%x. (x, IN x s | IN x t))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2607
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2608
lemma UNION_DEF: "pred_set.UNION s t = GSPEC (%x. (x, IN x s | IN x t))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2609
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2610
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2611
lemma IN_UNION: "IN xb (pred_set.UNION x xa) = (IN xb x | IN xb xa)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2612
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2613
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2614
lemma UNION_ASSOC: "pred_set.UNION x (pred_set.UNION xa xb) =
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2615
pred_set.UNION (pred_set.UNION x xa) xb"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2616
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2617
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2618
lemma UNION_IDEMPOT: "pred_set.UNION x x = x"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2619
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2620
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2621
lemma UNION_COMM: "pred_set.UNION x xa = pred_set.UNION xa x"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2622
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2623
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2624
lemma SUBSET_UNION: "(ALL (x::'a => bool) xa::'a => bool. SUBSET x (pred_set.UNION x xa)) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2625
(ALL (x::'a => bool) xa::'a => bool. SUBSET x (pred_set.UNION xa x))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2626
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2627
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2628
lemma UNION_SUBSET: "SUBSET (pred_set.UNION s t) u = (SUBSET s u & SUBSET t u)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2629
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2630
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2631
lemma SUBSET_UNION_ABSORPTION: "SUBSET x xa = (pred_set.UNION x xa = xa)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2632
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2633
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2634
lemma UNION_EMPTY: "(ALL x::'a => bool. pred_set.UNION EMPTY x = x) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2635
(ALL x::'a => bool. pred_set.UNION x EMPTY = x)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2636
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2637
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2638
lemma UNION_UNIV: "(ALL x::'a => bool. pred_set.UNION pred_set.UNIV x = pred_set.UNIV) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2639
(ALL x::'a => bool. pred_set.UNION x pred_set.UNIV = pred_set.UNIV)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2640
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2641
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2642
lemma EMPTY_UNION: "(pred_set.UNION x xa = EMPTY) = (x = EMPTY & xa = EMPTY)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2643
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2644
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2645
definition
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2646
  INTER :: "('a => bool) => ('a => bool) => 'a => bool"  where
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2647
  "INTER == %s t. GSPEC (%x. (x, IN x s & IN x t))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2648
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2649
lemma INTER_DEF: "pred_set.INTER s t = GSPEC (%x. (x, IN x s & IN x t))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2650
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2651
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2652
lemma IN_INTER: "IN xb (pred_set.INTER x xa) = (IN xb x & IN xb xa)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2653
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2654
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2655
lemma INTER_ASSOC: "pred_set.INTER x (pred_set.INTER xa xb) =
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2656
pred_set.INTER (pred_set.INTER x xa) xb"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2657
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2658
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2659
lemma INTER_IDEMPOT: "pred_set.INTER x x = x"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2660
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2661
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2662
lemma INTER_COMM: "pred_set.INTER x xa = pred_set.INTER xa x"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2663
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2664
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2665
lemma INTER_SUBSET: "(ALL (x::'a => bool) xa::'a => bool. SUBSET (pred_set.INTER x xa) x) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2666
(ALL (x::'a => bool) xa::'a => bool. SUBSET (pred_set.INTER xa x) x)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2667
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2668
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2669
lemma SUBSET_INTER: "SUBSET s (pred_set.INTER t u) = (SUBSET s t & SUBSET s u)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2670
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2671
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2672
lemma SUBSET_INTER_ABSORPTION: "SUBSET x xa = (pred_set.INTER x xa = x)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2673
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2674
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2675
lemma INTER_EMPTY: "(ALL x::'a => bool. pred_set.INTER EMPTY x = EMPTY) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2676
(ALL x::'a => bool. pred_set.INTER x EMPTY = EMPTY)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2677
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2678
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2679
lemma INTER_UNIV: "(ALL x::'a => bool. pred_set.INTER pred_set.UNIV x = x) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2680
(ALL x::'a => bool. pred_set.INTER x pred_set.UNIV = x)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2681
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2682
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2683
lemma UNION_OVER_INTER: "pred_set.INTER x (pred_set.UNION xa xb) =
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2684
pred_set.UNION (pred_set.INTER x xa) (pred_set.INTER x xb)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2685
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2686
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2687
lemma INTER_OVER_UNION: "pred_set.UNION x (pred_set.INTER xa xb) =
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2688
pred_set.INTER (pred_set.UNION x xa) (pred_set.UNION x xb)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2689
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2690
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2691
definition
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2692
  DISJOINT :: "('a => bool) => ('a => bool) => bool"  where
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2693
  "DISJOINT == %s t. pred_set.INTER s t = EMPTY"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2694
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2695
lemma DISJOINT_DEF: "DISJOINT s t = (pred_set.INTER s t = EMPTY)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2696
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2697
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2698
lemma IN_DISJOINT: "DISJOINT x xa = (~ (EX xb. IN xb x & IN xb xa))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2699
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2700
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2701
lemma DISJOINT_SYM: "DISJOINT x xa = DISJOINT xa x"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2702
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2703
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2704
lemma DISJOINT_EMPTY: "DISJOINT EMPTY x & DISJOINT x EMPTY"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2705
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2706
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2707
lemma DISJOINT_EMPTY_REFL: "(x = EMPTY) = DISJOINT x x"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2708
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2709
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2710
lemma DISJOINT_UNION: "DISJOINT (pred_set.UNION x xa) xb = (DISJOINT x xb & DISJOINT xa xb)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2711
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2712
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2713
lemma DISJOINT_UNION_BOTH: "DISJOINT (pred_set.UNION s t) u = (DISJOINT s u & DISJOINT t u) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2714
DISJOINT u (pred_set.UNION s t) = (DISJOINT s u & DISJOINT t u)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2715
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2716
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2717
definition
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2718
  DIFF :: "('a => bool) => ('a => bool) => 'a => bool"  where
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2719
  "DIFF == %s t. GSPEC (%x. (x, IN x s & ~ IN x t))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2720
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2721
lemma DIFF_DEF: "DIFF s t = GSPEC (%x. (x, IN x s & ~ IN x t))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2722
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2723
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2724
lemma IN_DIFF: "IN x (DIFF s t) = (IN x s & ~ IN x t)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2725
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2726
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2727
lemma DIFF_EMPTY: "DIFF s EMPTY = s"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2728
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2729
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2730
lemma EMPTY_DIFF: "DIFF EMPTY s = EMPTY"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2731
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2732
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2733
lemma DIFF_UNIV: "DIFF s pred_set.UNIV = EMPTY"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2734
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2735
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2736
lemma DIFF_DIFF: "DIFF (DIFF x xa) xa = DIFF x xa"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2737
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2738
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2739
lemma DIFF_EQ_EMPTY: "DIFF x x = EMPTY"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2740
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2741
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2742
definition
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2743
  INSERT :: "'a => ('a => bool) => 'a => bool"  where
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2744
  "INSERT == %x s. GSPEC (%y. (y, y = x | IN y s))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2745
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2746
lemma INSERT_DEF: "INSERT x s = GSPEC (%y. (y, y = x | IN y s))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2747
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2748
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2749
lemma IN_INSERT: "IN x (INSERT xa xb) = (x = xa | IN x xb)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2750
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2751
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2752
lemma COMPONENT: "IN x (INSERT x xa)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2753
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2754
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2755
lemma SET_CASES: "x = EMPTY | (EX xa xb. x = INSERT xa xb & ~ IN xa xb)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2756
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2757
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2758
lemma DECOMPOSITION: "IN x s = (EX t. s = INSERT x t & ~ IN x t)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2759
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2760
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2761
lemma ABSORPTION: "IN x xa = (INSERT x xa = xa)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2762
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2764
lemma INSERT_INSERT: "INSERT x (INSERT x xa) = INSERT x xa"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2765
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2766
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2767
lemma INSERT_COMM: "INSERT x (INSERT xa xb) = INSERT xa (INSERT x xb)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2768
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2769
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2770
lemma INSERT_UNIV: "INSERT x pred_set.UNIV = pred_set.UNIV"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2771
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2772
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2773
lemma NOT_INSERT_EMPTY: "INSERT x xa ~= EMPTY"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2774
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2775
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2776
lemma NOT_EMPTY_INSERT: "EMPTY ~= INSERT x xa"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2777
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2778
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2779
lemma INSERT_UNION: "pred_set.UNION (INSERT x s) t =
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2780
(if IN x t then pred_set.UNION s t else INSERT x (pred_set.UNION s t))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2781
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2782
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2783
lemma INSERT_UNION_EQ: "pred_set.UNION (INSERT x s) t = INSERT x (pred_set.UNION s t)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2784
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2785
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2786
lemma INSERT_INTER: "pred_set.INTER (INSERT x s) t =
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2787
(if IN x t then INSERT x (pred_set.INTER s t) else pred_set.INTER s t)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2788
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2789
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2790
lemma DISJOINT_INSERT: "DISJOINT (INSERT x xa) xb = (DISJOINT xa xb & ~ IN x xb)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2791
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2792
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2793
lemma INSERT_SUBSET: "SUBSET (INSERT x xa) xb = (IN x xb & SUBSET xa xb)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2794
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2795
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2796
lemma SUBSET_INSERT: "~ IN x xa ==> SUBSET xa (INSERT x xb) = SUBSET xa xb"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2797
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2798
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2799
lemma INSERT_DIFF: "DIFF (INSERT x s) t = (if IN x t then DIFF s t else INSERT x (DIFF s t))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2800
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2801
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2802
definition
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2803
  DELETE :: "('a => bool) => 'a => 'a => bool"  where
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2804
  "DELETE == %s x. DIFF s (INSERT x EMPTY)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2805
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2806
lemma DELETE_DEF: "DELETE s x = DIFF s (INSERT x EMPTY)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2807
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2808
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2809
lemma IN_DELETE: "IN xa (DELETE x xb) = (IN xa x & xa ~= xb)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2810
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2811
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2812
lemma DELETE_NON_ELEMENT: "(~ IN x xa) = (DELETE xa x = xa)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2813
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2814
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2815
lemma IN_DELETE_EQ: "(IN x s = IN x' s) = (IN x (DELETE s x') = IN x' (DELETE s x))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2816
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2817
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2818
lemma EMPTY_DELETE: "DELETE EMPTY x = EMPTY"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2819
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2820
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2821
lemma DELETE_DELETE: "DELETE (DELETE xa x) x = DELETE xa x"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2822
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2823
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2824
lemma DELETE_COMM: "DELETE (DELETE xb x) xa = DELETE (DELETE xb xa) x"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2825
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2826
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2827
lemma DELETE_SUBSET: "SUBSET (DELETE xa x) xa"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2828
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2829
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2830
lemma SUBSET_DELETE: "SUBSET xa (DELETE xb x) = (~ IN x xa & SUBSET xa xb)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2831
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2832
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2833
lemma SUBSET_INSERT_DELETE: "SUBSET s (INSERT x t) = SUBSET (DELETE s x) t"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2834
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2835
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2836
lemma DIFF_INSERT: "DIFF x (INSERT xb xa) = DIFF (DELETE x xb) xa"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2837
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2838
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2839
lemma PSUBSET_INSERT_SUBSET: "PSUBSET x xa = (EX xb. ~ IN xb x & SUBSET (INSERT xb x) xa)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2840
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2841
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2842
lemma PSUBSET_MEMBER: "PSUBSET s t = (SUBSET s t & (EX y. IN y t & ~ IN y s))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2843
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2844
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2845
lemma DELETE_INSERT: "DELETE (INSERT x xb) xa =
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2846
(if x = xa then DELETE xb xa else INSERT x (DELETE xb xa))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2847
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2848
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2849
lemma INSERT_DELETE: "IN x xa ==> INSERT x (DELETE xa x) = xa"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2850
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2851
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2852
lemma DELETE_INTER: "pred_set.INTER (DELETE x xb) xa = DELETE (pred_set.INTER x xa) xb"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2853
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2854
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2855
lemma DISJOINT_DELETE_SYM: "DISJOINT (DELETE x xb) xa = DISJOINT (DELETE xa xb) x"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2856
  sorry
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  2857
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  2858
consts
17652
b1ef33ebfa17 Release HOL4 and HOLLight Importer.
obua
parents: 17644
diff changeset
  2859
  CHOICE :: "('a => bool) => 'a" 
17644
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
  2860
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2861
specification (CHOICE) CHOICE_DEF: "ALL x. x ~= EMPTY --> IN (CHOICE x) x"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2862
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2863
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2864
definition
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2865
  REST :: "('a => bool) => 'a => bool"  where
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2866
  "REST == %s. DELETE s (CHOICE s)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2867
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2868
lemma REST_DEF: "REST s = DELETE s (CHOICE s)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2869
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2870
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2871
lemma CHOICE_NOT_IN_REST: "~ IN (CHOICE x) (REST x)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2872
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2873
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2874
lemma CHOICE_INSERT_REST: "s ~= EMPTY ==> INSERT (CHOICE s) (REST s) = s"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2875
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2876
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2877
lemma REST_SUBSET: "SUBSET (REST x) x"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2878
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2879
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2880
lemma REST_PSUBSET: "x ~= EMPTY ==> PSUBSET (REST x) x"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2881
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2882
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2883
definition
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2884
  SING :: "('a => bool) => bool"  where
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2885
  "SING == %s. EX x. s = INSERT x EMPTY"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2886
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2887
lemma SING_DEF: "SING s = (EX x. s = INSERT x EMPTY)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2888
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2889
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2890
lemma SING: "SING (INSERT x EMPTY)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2891
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2892
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2893
lemma IN_SING: "IN x (INSERT xa EMPTY) = (x = xa)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2894
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2895
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2896
lemma NOT_SING_EMPTY: "INSERT x EMPTY ~= EMPTY"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2897
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2898
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2899
lemma NOT_EMPTY_SING: "EMPTY ~= INSERT x EMPTY"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2900
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2901
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2902
lemma EQUAL_SING: "(INSERT x EMPTY = INSERT xa EMPTY) = (x = xa)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2903
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2904
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2905
lemma DISJOINT_SING_EMPTY: "DISJOINT (INSERT x EMPTY) EMPTY"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2906
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2907
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2908
lemma INSERT_SING_UNION: "INSERT xa x = pred_set.UNION (INSERT xa EMPTY) x"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2909
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2910
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2911
lemma SING_DELETE: "DELETE (INSERT x EMPTY) x = EMPTY"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2912
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2913
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2914
lemma DELETE_EQ_SING: "IN xa x ==> (DELETE x xa = EMPTY) = (x = INSERT xa EMPTY)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2915
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2916
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2917
lemma CHOICE_SING: "CHOICE (INSERT x EMPTY) = x"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2918
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2919
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2920
lemma REST_SING: "REST (INSERT x EMPTY) = EMPTY"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2921
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2922
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2923
lemma SING_IFF_EMPTY_REST: "SING x = (x ~= EMPTY & REST x = EMPTY)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2924
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2925
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2926
definition
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2927
  IMAGE :: "('a => 'b) => ('a => bool) => 'b => bool"  where
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2928
  "IMAGE == %f s. GSPEC (%x. (f x, IN x s))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2929
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2930
lemma IMAGE_DEF: "IMAGE (f::'a => 'b) (s::'a => bool) = GSPEC (%x::'a. (f x, IN x s))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2931
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2932
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2933
lemma IN_IMAGE: "IN (x::'b) (IMAGE (xb::'a => 'b) (xa::'a => bool)) =
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2934
(EX xc::'a. x = xb xc & IN xc xa)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2935
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2936
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2937
lemma IMAGE_IN: "IN x xa ==> IN (xb x) (IMAGE xb xa)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2938
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2939
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2940
lemma IMAGE_EMPTY: "IMAGE (x::'a => 'b) EMPTY = EMPTY"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2941
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2942
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2943
lemma IMAGE_ID: "IMAGE (%x. x) x = x"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2944
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2945
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2946
lemma IMAGE_COMPOSE: "IMAGE ((x::'b => 'c) o (xa::'a => 'b)) (xb::'a => bool) =
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2947
IMAGE x (IMAGE xa xb)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2948
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2949
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2950
lemma IMAGE_INSERT: "IMAGE (x::'a => 'b) (INSERT (xa::'a) (xb::'a => bool)) =
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2951
INSERT (x xa) (IMAGE x xb)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2952
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2953
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2954
lemma IMAGE_EQ_EMPTY: "(IMAGE (x::'a => 'b) (s::'a => bool) = EMPTY) = (s = EMPTY)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2955
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2956
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2957
lemma IMAGE_DELETE: "~ IN x s ==> IMAGE f (DELETE s x) = IMAGE f s"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2958
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2959
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2960
lemma IMAGE_UNION: "IMAGE (x::'a => 'b) (pred_set.UNION (xa::'a => bool) (xb::'a => bool)) =
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2961
pred_set.UNION (IMAGE x xa) (IMAGE x xb)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2962
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2963
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2964
lemma IMAGE_SUBSET: "SUBSET x xa ==> SUBSET (IMAGE xb x) (IMAGE xb xa)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2965
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2966
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2967
lemma IMAGE_INTER: "SUBSET
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2968
 (IMAGE (f::'a => 'b) (pred_set.INTER (s::'a => bool) (t::'a => bool)))
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2969
 (pred_set.INTER (IMAGE f s) (IMAGE f t))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2970
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2971
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2972
definition
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2973
  INJ :: "('a => 'b) => ('a => bool) => ('b => bool) => bool"  where
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  2974
  "INJ ==
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2975
%f s t.
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2976
   (ALL x. IN x s --> IN (f x) t) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2977
   (ALL x y. IN x s & IN y s --> f x = f y --> x = y)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2978
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2979
lemma INJ_DEF: "INJ f s t =
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2980
((ALL x. IN x s --> IN (f x) t) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2981
 (ALL x y. IN x s & IN y s --> f x = f y --> x = y))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2982
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2983
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2984
lemma INJ_ID: "INJ (%x. x) x x"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2985
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2986
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2987
lemma INJ_COMPOSE: "INJ x xb xc & INJ xa xc xd ==> INJ (xa o x) xb xd"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2988
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2989
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2990
lemma INJ_EMPTY: "All (INJ (x::'a => 'b) EMPTY) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2991
(ALL xa::'a => bool. INJ x xa EMPTY = (xa = EMPTY))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2992
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2993
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2994
definition
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2995
  SURJ :: "('a => 'b) => ('a => bool) => ('b => bool) => bool"  where
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  2996
  "SURJ ==
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2997
%f s t.
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2998
   (ALL x. IN x s --> IN (f x) t) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  2999
   (ALL x. IN x t --> (EX y. IN y s & f y = x))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3000
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3001
lemma SURJ_DEF: "SURJ f s t =
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3002
((ALL x. IN x s --> IN (f x) t) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3003
 (ALL x. IN x t --> (EX y. IN y s & f y = x)))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3004
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3005
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3006
lemma SURJ_ID: "SURJ (%x. x) x x"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3007
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3008
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3009
lemma SURJ_COMPOSE: "SURJ x xb xc & SURJ xa xc xd ==> SURJ (xa o x) xb xd"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3010
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3011
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3012
lemma SURJ_EMPTY: "(ALL xa::'b => bool. SURJ (x::'a => 'b) EMPTY xa = (xa = EMPTY)) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3013
(ALL xa::'a => bool. SURJ x xa EMPTY = (xa = EMPTY))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3014
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3015
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3016
lemma IMAGE_SURJ: "SURJ x xa xb = (IMAGE x xa = xb)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3017
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3018
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3019
definition
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3020
  BIJ :: "('a => 'b) => ('a => bool) => ('b => bool) => bool"  where
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3021
  "BIJ == %f s t. INJ f s t & SURJ f s t"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3022
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3023
lemma BIJ_DEF: "BIJ f s t = (INJ f s t & SURJ f s t)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3024
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3025
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3026
lemma BIJ_ID: "BIJ (%x. x) x x"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3027
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3028
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3029
lemma BIJ_EMPTY: "(ALL xa::'b => bool. BIJ (x::'a => 'b) EMPTY xa = (xa = EMPTY)) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3030
(ALL xa::'a => bool. BIJ x xa EMPTY = (xa = EMPTY))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3031
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3032
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3033
lemma BIJ_COMPOSE: "BIJ x xb xc & BIJ xa xc xd ==> BIJ (xa o x) xb xd"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3034
  sorry
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  3035
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  3036
consts
17652
b1ef33ebfa17 Release HOL4 and HOLLight Importer.
obua
parents: 17644
diff changeset
  3037
  LINV :: "('a => 'b) => ('a => bool) => 'b => 'a" 
17644
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
  3038
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3039
specification (LINV) LINV_DEF: "ALL f s t. INJ f s t --> (ALL x. IN x s --> LINV f s (f x) = x)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3040
  sorry
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  3041
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  3042
consts
17652
b1ef33ebfa17 Release HOL4 and HOLLight Importer.
obua
parents: 17644
diff changeset
  3043
  RINV :: "('a => 'b) => ('a => bool) => 'b => 'a" 
17644
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
  3044
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3045
specification (RINV) RINV_DEF: "ALL f s t. SURJ f s t --> (ALL x. IN x t --> f (RINV f s x) = x)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3046
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3047
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3048
definition
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3049
  FINITE :: "('a => bool) => bool"  where
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  3050
  "FINITE ==
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3051
%s. ALL P. P EMPTY & (ALL s. P s --> (ALL e. P (INSERT e s))) --> P s"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3052
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3053
lemma FINITE_DEF: "FINITE s =
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3054
(ALL P. P EMPTY & (ALL s. P s --> (ALL e. P (INSERT e s))) --> P s)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3055
  sorry
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  3056
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  3057
lemma FINITE_EMPTY: "FINITE EMPTY"
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3058
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3059
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3060
lemma FINITE_INDUCT: "[| P EMPTY &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3061
   (ALL s. FINITE s & P s --> (ALL e. ~ IN e s --> P (INSERT e s)));
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3062
   FINITE s |]
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3063
==> P s"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3064
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3065
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3066
lemma FINITE_INSERT: "FINITE (INSERT x s) = FINITE s"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3067
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3068
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3069
lemma FINITE_DELETE: "FINITE (DELETE s x) = FINITE s"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3070
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3071
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3072
lemma FINITE_UNION: "FINITE (pred_set.UNION s t) = (FINITE s & FINITE t)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3073
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3074
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3075
lemma INTER_FINITE: "FINITE s ==> FINITE (pred_set.INTER s t)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3076
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3077
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3078
lemma SUBSET_FINITE: "[| FINITE s; SUBSET t s |] ==> FINITE t"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3079
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3080
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3081
lemma PSUBSET_FINITE: "[| FINITE x; PSUBSET xa x |] ==> FINITE xa"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3082
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3083
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3084
lemma FINITE_DIFF: "FINITE s ==> FINITE (DIFF s t)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3085
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3086
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3087
lemma FINITE_SING: "FINITE (INSERT x EMPTY)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3088
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3089
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3090
lemma SING_FINITE: "SING x ==> FINITE x"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3091
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3092
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3093
lemma IMAGE_FINITE: "FINITE s ==> FINITE (IMAGE f s)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3094
  sorry
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  3095
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  3096
consts
17652
b1ef33ebfa17 Release HOL4 and HOLLight Importer.
obua
parents: 17644
diff changeset
  3097
  CARD :: "('a => bool) => nat" 
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  3098
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  3099
specification (CARD) CARD_DEF: "(op &::bool => bool => bool)
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  3100
 ((op =::nat => nat => bool)
17644
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
  3101
   ((CARD::('a::type => bool) => nat) (EMPTY::'a::type => bool)) (0::nat))
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
  3102
 ((All::(('a::type => bool) => bool) => bool)
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
  3103
   (%s::'a::type => bool.
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
  3104
       (op -->::bool => bool => bool)
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
  3105
        ((FINITE::('a::type => bool) => bool) s)
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
  3106
        ((All::('a::type => bool) => bool)
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
  3107
          (%x::'a::type.
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  3108
              (op =::nat => nat => bool)
17644
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
  3109
               ((CARD::('a::type => bool) => nat)
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
  3110
                 ((INSERT::'a::type
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
  3111
                           => ('a::type => bool) => 'a::type => bool)
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
  3112
                   x s))
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  3113
               ((If::bool => nat => nat => nat)
17644
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
  3114
                 ((IN::'a::type => ('a::type => bool) => bool) x s)
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
  3115
                 ((CARD::('a::type => bool) => nat) s)
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
  3116
                 ((Suc::nat => nat)
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
  3117
                   ((CARD::('a::type => bool) => nat) s)))))))"
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3118
  sorry
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  3119
17652
b1ef33ebfa17 Release HOL4 and HOLLight Importer.
obua
parents: 17644
diff changeset
  3120
lemma CARD_EMPTY: "CARD EMPTY = 0"
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3121
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3122
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3123
lemma CARD_INSERT: "FINITE s ==> CARD (INSERT x s) = (if IN x s then CARD s else Suc (CARD s))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3124
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3125
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3126
lemma CARD_EQ_0: "FINITE s ==> (CARD s = 0) = (s = EMPTY)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3127
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3128
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3129
lemma CARD_DELETE: "FINITE s ==> CARD (DELETE s x) = (if IN x s then CARD s - 1 else CARD s)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3130
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3131
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3132
lemma CARD_INTER_LESS_EQ: "FINITE s ==> CARD (pred_set.INTER s t) <= CARD s"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3133
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3134
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3135
lemma CARD_UNION: "[| FINITE s; FINITE t |]
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3136
==> CARD (pred_set.UNION s t) + CARD (pred_set.INTER s t) = CARD s + CARD t"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3137
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3138
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3139
lemma CARD_SUBSET: "[| FINITE s; SUBSET t s |] ==> CARD t <= CARD s"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3140
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3141
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3142
lemma CARD_PSUBSET: "[| FINITE s; PSUBSET t s |] ==> CARD t < CARD s"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3143
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3144
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3145
lemma CARD_SING: "CARD (INSERT x EMPTY) = 1"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3146
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3147
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3148
lemma SING_IFF_CARD1: "SING x = (CARD x = 1 & FINITE x)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3149
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3150
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3151
lemma CARD_DIFF: "[| FINITE t; FINITE s |]
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3152
==> CARD (DIFF s t) = CARD s - CARD (pred_set.INTER s t)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3153
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3154
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3155
lemma LESS_CARD_DIFF: "[| FINITE t; FINITE s; CARD t < CARD s |] ==> 0 < CARD (DIFF s t)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3156
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3157
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3158
lemma FINITE_COMPLETE_INDUCTION: "[| !!x. [| !!y. PSUBSET y x ==> P y; FINITE x |] ==> P x; FINITE x |]
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3159
==> P x"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3160
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3161
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3162
definition
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3163
  INFINITE :: "('a => bool) => bool"  where
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3164
  "INFINITE == %s. ~ FINITE s"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3165
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3166
lemma INFINITE_DEF: "INFINITE s = (~ FINITE s)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3167
  sorry
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  3168
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  3169
lemma NOT_IN_FINITE: "(op =::bool => bool => bool)
17644
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
  3170
 ((INFINITE::('a::type => bool) => bool) (pred_set.UNIV::'a::type => bool))
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
  3171
 ((All::(('a::type => bool) => bool) => bool)
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
  3172
   (%s::'a::type => bool.
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
  3173
       (op -->::bool => bool => bool)
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
  3174
        ((FINITE::('a::type => bool) => bool) s)
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
  3175
        ((Ex::('a::type => bool) => bool)
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
  3176
          (%x::'a::type.
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
  3177
              (Not::bool => bool)
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
  3178
               ((IN::'a::type => ('a::type => bool) => bool) x s)))))"
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3179
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3180
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3181
lemma INFINITE_INHAB: "INFINITE x ==> EX xa. IN xa x"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3182
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3183
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3184
lemma IMAGE_11_INFINITE: "[| !!x y. f x = f y ==> x = y; INFINITE s |] ==> INFINITE (IMAGE f s)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3185
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3186
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3187
lemma INFINITE_SUBSET: "[| INFINITE x; SUBSET x xa |] ==> INFINITE xa"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3188
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3189
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3190
lemma IN_INFINITE_NOT_FINITE: "INFINITE x & FINITE xa ==> EX xb. IN xb x & ~ IN xb xa"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3191
  sorry
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  3192
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  3193
lemma INFINITE_UNIV: "(op =::bool => bool => bool)
17644
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
  3194
 ((INFINITE::('a::type => bool) => bool) (pred_set.UNIV::'a::type => bool))
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
  3195
 ((Ex::(('a::type => 'a::type) => bool) => bool)
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
  3196
   (%f::'a::type => 'a::type.
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  3197
       (op &::bool => bool => bool)
17644
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
  3198
        ((All::('a::type => bool) => bool)
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
  3199
          (%x::'a::type.
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
  3200
              (All::('a::type => bool) => bool)
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
  3201
               (%y::'a::type.
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  3202
                   (op -->::bool => bool => bool)
17644
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
  3203
                    ((op =::'a::type => 'a::type => bool) (f x) (f y))
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
  3204
                    ((op =::'a::type => 'a::type => bool) x y))))
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
  3205
        ((Ex::('a::type => bool) => bool)
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
  3206
          (%y::'a::type.
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
  3207
              (All::('a::type => bool) => bool)
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
  3208
               (%x::'a::type.
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3209
                   (op ~=::'a::type => 'a::type => bool) (f x) y)))))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3210
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3211
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3212
lemma FINITE_PSUBSET_INFINITE: "INFINITE x = (ALL xa. FINITE xa --> SUBSET xa x --> PSUBSET xa x)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3213
  sorry
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  3214
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  3215
lemma FINITE_PSUBSET_UNIV: "(op =::bool => bool => bool)
17644
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
  3216
 ((INFINITE::('a::type => bool) => bool) (pred_set.UNIV::'a::type => bool))
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
  3217
 ((All::(('a::type => bool) => bool) => bool)
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
  3218
   (%s::'a::type => bool.
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
  3219
       (op -->::bool => bool => bool)
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
  3220
        ((FINITE::('a::type => bool) => bool) s)
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
  3221
        ((PSUBSET::('a::type => bool) => ('a::type => bool) => bool) s
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
  3222
          (pred_set.UNIV::'a::type => bool))))"
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3223
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3224
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3225
lemma INFINITE_DIFF_FINITE: "INFINITE s & FINITE t ==> DIFF s t ~= EMPTY"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3226
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3227
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3228
lemma FINITE_ISO_NUM: "FINITE s
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3229
==> EX f. (ALL n m. n < CARD s & m < CARD s --> f n = f m --> n = m) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3230
          s = GSPEC (%n. (f n, n < CARD s))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3231
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3232
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3233
lemma FINITE_WEAK_ENUMERATE: "FINITE (x::'a => bool) =
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3234
(EX (f::nat => 'a) b::nat. ALL e::'a. IN e x = (EX n<b. e = f n))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3235
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3236
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3237
definition
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3238
  BIGUNION :: "(('a => bool) => bool) => 'a => bool"  where
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3239
  "BIGUNION == %P. GSPEC (%x. (x, EX p. IN p P & IN x p))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3240
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3241
lemma BIGUNION: "BIGUNION P = GSPEC (%x. (x, EX p. IN p P & IN x p))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3242
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3243
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3244
lemma IN_BIGUNION: "IN x (BIGUNION xa) = (EX s. IN x s & IN s xa)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3245
  sorry
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  3246
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  3247
lemma BIGUNION_EMPTY: "BIGUNION EMPTY = EMPTY"
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3248
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3249
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3250
lemma BIGUNION_SING: "BIGUNION (INSERT x EMPTY) = x"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3251
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3252
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3253
lemma BIGUNION_UNION: "BIGUNION (pred_set.UNION x xa) = pred_set.UNION (BIGUNION x) (BIGUNION xa)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3254
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3255
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3256
lemma DISJOINT_BIGUNION: "(ALL (s::('a => bool) => bool) t::'a => bool.
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  3257
    DISJOINT (BIGUNION s) t =
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3258
    (ALL s'::'a => bool. IN s' s --> DISJOINT s' t)) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3259
(ALL (x::('a => bool) => bool) xa::'a => bool.
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  3260
    DISJOINT xa (BIGUNION x) =
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3261
    (ALL xb::'a => bool. IN xb x --> DISJOINT xa xb))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3262
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3263
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3264
lemma BIGUNION_INSERT: "BIGUNION (INSERT x xa) = pred_set.UNION x (BIGUNION xa)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3265
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3266
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3267
lemma BIGUNION_SUBSET: "SUBSET (BIGUNION P) X = (ALL Y. IN Y P --> SUBSET Y X)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3268
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3269
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3270
lemma FINITE_BIGUNION: "FINITE x & (ALL s. IN s x --> FINITE s) ==> FINITE (BIGUNION x)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3271
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3272
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3273
definition
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3274
  BIGINTER :: "(('a => bool) => bool) => 'a => bool"  where
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3275
  "BIGINTER == %B. GSPEC (%x. (x, ALL P. IN P B --> IN x P))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3276
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3277
lemma BIGINTER: "BIGINTER B = GSPEC (%x. (x, ALL P. IN P B --> IN x P))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3278
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3279
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3280
lemma IN_BIGINTER: "IN x (BIGINTER B) = (ALL P. IN P B --> IN x P)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3281
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3282
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3283
lemma BIGINTER_INSERT: "BIGINTER (INSERT P B) = pred_set.INTER P (BIGINTER B)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3284
  sorry
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  3285
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  3286
lemma BIGINTER_EMPTY: "BIGINTER EMPTY = pred_set.UNIV"
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3287
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3288
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3289
lemma BIGINTER_INTER: "BIGINTER (INSERT x (INSERT xa EMPTY)) = pred_set.INTER x xa"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3290
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3291
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3292
lemma BIGINTER_SING: "BIGINTER (INSERT x EMPTY) = x"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3293
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3294
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3295
lemma SUBSET_BIGINTER: "SUBSET X (BIGINTER P) = (ALL x. IN x P --> SUBSET X x)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3296
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3297
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3298
lemma DISJOINT_BIGINTER: "IN xa xb & DISJOINT xa x
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3299
==> DISJOINT x (BIGINTER xb) & DISJOINT (BIGINTER xb) x"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3300
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3301
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3302
definition
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3303
  CROSS :: "('a => bool) => ('b => bool) => 'a * 'b => bool"  where
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3304
  "CROSS == %P Q. GSPEC (%p. (p, IN (fst p) P & IN (snd p) Q))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3305
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3306
lemma CROSS_DEF: "CROSS P Q = GSPEC (%p. (p, IN (fst p) P & IN (snd p) Q))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3307
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3308
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3309
lemma IN_CROSS: "IN xb (CROSS x xa) = (IN (fst xb) x & IN (snd xb) xa)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3310
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3311
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3312
lemma CROSS_EMPTY: "CROSS x EMPTY = EMPTY & CROSS EMPTY x = EMPTY"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3313
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3314
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3315
lemma CROSS_INSERT_LEFT: "CROSS (INSERT xb x) xa =
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3316
pred_set.UNION (CROSS (INSERT xb EMPTY) xa) (CROSS x xa)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3317
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3318
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3319
lemma CROSS_INSERT_RIGHT: "CROSS x (INSERT xb xa) =
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3320
pred_set.UNION (CROSS x (INSERT xb EMPTY)) (CROSS x xa)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3321
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3322
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3323
lemma FINITE_CROSS: "FINITE x & FINITE xa ==> FINITE (CROSS x xa)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3324
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3325
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3326
lemma CROSS_SINGS: "CROSS (INSERT x EMPTY) (INSERT xa EMPTY) = INSERT (x, xa) EMPTY"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3327
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3328
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3329
lemma CARD_SING_CROSS: "FINITE (s::'b => bool) ==> CARD (CROSS (INSERT (x::'a) EMPTY) s) = CARD s"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3330
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3331
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3332
lemma CARD_CROSS: "FINITE x & FINITE xa ==> CARD (CROSS x xa) = CARD x * CARD xa"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3333
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3334
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3335
lemma CROSS_SUBSET: "SUBSET (CROSS xb xc) (CROSS x xa) =
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3336
(xb = EMPTY | xc = EMPTY | SUBSET xb x & SUBSET xc xa)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3337
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3338
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3339
lemma FINITE_CROSS_EQ: "FINITE (CROSS P Q) = (P = EMPTY | Q = EMPTY | FINITE P & FINITE Q)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3340
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3341
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3342
definition
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3343
  COMPL :: "('a => bool) => 'a => bool"  where
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  3344
  "COMPL == DIFF pred_set.UNIV"
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  3345
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3346
lemma COMPL_DEF: "COMPL P = DIFF pred_set.UNIV P"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3347
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3348
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3349
lemma IN_COMPL: "IN x (COMPL xa) = (~ IN x xa)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3350
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3351
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3352
lemma COMPL_COMPL: "COMPL (COMPL x) = x"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3353
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3354
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3355
lemma COMPL_CLAUSES: "pred_set.INTER (COMPL x) x = EMPTY &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3356
pred_set.UNION (COMPL x) x = pred_set.UNIV"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3357
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3358
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3359
lemma COMPL_SPLITS: "pred_set.UNION (pred_set.INTER x xa) (pred_set.INTER (COMPL x) xa) = xa"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3360
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3361
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3362
lemma INTER_UNION_COMPL: "pred_set.INTER x xa = COMPL (pred_set.UNION (COMPL x) (COMPL xa))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3363
  sorry
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  3364
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  3365
lemma COMPL_EMPTY: "COMPL EMPTY = pred_set.UNIV"
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3366
  sorry
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  3367
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  3368
consts
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  3369
  count :: "nat => nat => bool" 
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  3370
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  3371
defs
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3372
  count_primdef: "count == %n. GSPEC (%m. (m, m < n))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3373
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3374
lemma count_def: "count n = GSPEC (%m. (m, m < n))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3375
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3376
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3377
lemma IN_COUNT: "IN m (count n) = (m < n)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3378
  sorry
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  3379
17652
b1ef33ebfa17 Release HOL4 and HOLLight Importer.
obua
parents: 17644
diff changeset
  3380
lemma COUNT_ZERO: "count 0 = EMPTY"
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3381
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3382
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3383
lemma COUNT_SUC: "count (Suc n) = INSERT n (count n)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3384
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3385
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3386
lemma FINITE_COUNT: "FINITE (count n)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3387
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3388
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3389
lemma CARD_COUNT: "CARD (count n) = n"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3390
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3391
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3392
definition
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3393
  ITSET_tupled :: "('a => 'b => 'b) => ('a => bool) * 'b => 'b"  where
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  3394
  "ITSET_tupled ==
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3395
%f. WFREC
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3396
     (SOME R.
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3397
         WF R &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3398
         (ALL b s.
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3399
             FINITE s & s ~= EMPTY --> R (REST s, f (CHOICE s) b) (s, b)))
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3400
     (%ITSET_tupled (v, v1).
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3401
         if FINITE v
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3402
         then if v = EMPTY then v1
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3403
              else ITSET_tupled (REST v, f (CHOICE v) v1)
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3404
         else ARB)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3405
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3406
lemma ITSET_tupled_primitive_def: "ITSET_tupled f =
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3407
WFREC
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3408
 (SOME R.
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3409
     WF R &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3410
     (ALL b s. FINITE s & s ~= EMPTY --> R (REST s, f (CHOICE s) b) (s, b)))
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3411
 (%ITSET_tupled (v, v1).
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3412
     if FINITE v
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3413
     then if v = EMPTY then v1 else ITSET_tupled (REST v, f (CHOICE v) v1)
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3414
     else ARB)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3415
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3416
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3417
definition
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3418
  ITSET :: "('a => 'b => 'b) => ('a => bool) => 'b => 'b"  where
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3419
  "ITSET == %f x x1. ITSET_tupled f (x, x1)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3420
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3421
lemma ITSET_curried_def: "ITSET (f::'a => 'b => 'b) (x::'a => bool) (x1::'b) = ITSET_tupled f (x, x1)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3422
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3423
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3424
lemma ITSET_IND: "(!!(s::'a => bool) b::'b.
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3425
    (FINITE s & s ~= EMPTY
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3426
     ==> (P::('a => bool) => 'b => bool) (REST s)
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3427
          ((f::'a => 'b => 'b) (CHOICE s) b))
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3428
    ==> P s b)
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3429
==> P (v::'a => bool) (x::'b)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3430
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3431
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3432
lemma ITSET_THM: "FINITE s
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3433
==> ITSET f s b =
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3434
    (if s = EMPTY then b else ITSET f (REST s) (f (CHOICE s) b))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3435
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3436
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3437
lemma ITSET_EMPTY: "ITSET (x::'a => 'b => 'b) EMPTY (xa::'b) = xa"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3438
  sorry
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  3439
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  3440
;end_setup
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  3441
46787
3d3d8f8929a7 file system structure separating HOL4 and HOL Light concerns
haftmann
parents: 46780
diff changeset
  3442
setup_theory "~~/src/HOL/Import/HOL4/Generated" operator
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  3443
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3444
definition
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3445
  ASSOC :: "('a => 'a => 'a) => bool"  where
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3446
  "ASSOC == %f. ALL x y z. f x (f y z) = f (f x y) z"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3447
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3448
lemma ASSOC_DEF: "ASSOC f = (ALL x y z. f x (f y z) = f (f x y) z)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3449
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3450
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3451
definition
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3452
  COMM :: "('a => 'a => 'b) => bool"  where
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3453
  "COMM == %f. ALL x y. f x y = f y x"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3454
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3455
lemma COMM_DEF: "COMM f = (ALL x y. f x y = f y x)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3456
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3457
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3458
definition
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3459
  FCOMM :: "('a => 'b => 'a) => ('c => 'a => 'a) => bool"  where
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3460
  "FCOMM == %f g. ALL x y z. g x (f y z) = f (g x y) z"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3461
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3462
lemma FCOMM_DEF: "FCOMM f g = (ALL x y z. g x (f y z) = f (g x y) z)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3463
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3464
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3465
definition
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3466
  RIGHT_ID :: "('a => 'b => 'a) => 'b => bool"  where
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3467
  "RIGHT_ID == %f e. ALL x. f x e = x"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3468
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3469
lemma RIGHT_ID_DEF: "RIGHT_ID f e = (ALL x. f x e = x)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3470
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3471
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3472
definition
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3473
  LEFT_ID :: "('a => 'b => 'b) => 'a => bool"  where
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3474
  "LEFT_ID == %f e. ALL x. f e x = x"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3475
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3476
lemma LEFT_ID_DEF: "LEFT_ID f e = (ALL x. f e x = x)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3477
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3478
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3479
definition
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3480
  MONOID :: "('a => 'a => 'a) => 'a => bool"  where
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3481
  "MONOID == %f e. ASSOC f & RIGHT_ID f e & LEFT_ID f e"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3482
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3483
lemma MONOID_DEF: "MONOID f e = (ASSOC f & RIGHT_ID f e & LEFT_ID f e)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3484
  sorry
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  3485
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  3486
lemma ASSOC_CONJ: "ASSOC op &"
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3487
  sorry
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  3488
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  3489
lemma ASSOC_DISJ: "ASSOC op |"
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3490
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3491
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3492
lemma FCOMM_ASSOC: "FCOMM x x = ASSOC x"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3493
  sorry
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  3494
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  3495
lemma MONOID_CONJ_T: "MONOID op & True"
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3496
  sorry
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  3497
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  3498
lemma MONOID_DISJ_F: "MONOID op | False"
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3499
  sorry
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  3500
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  3501
;end_setup
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  3502
46787
3d3d8f8929a7 file system structure separating HOL4 and HOL Light concerns
haftmann
parents: 46780
diff changeset
  3503
setup_theory "~~/src/HOL/Import/HOL4/Generated" rich_list
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  3504
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  3505
consts
17652
b1ef33ebfa17 Release HOL4 and HOLLight Importer.
obua
parents: 17644
diff changeset
  3506
  SNOC :: "'a => 'a list => 'a list" 
17644
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
  3507
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3508
specification (SNOC) SNOC: "(ALL x::'a. SNOC x [] = [x]) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3509
(ALL (x::'a) (x'::'a) l::'a list. SNOC x (x' # l) = x' # SNOC x l)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3510
  sorry
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  3511
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  3512
consts
17652
b1ef33ebfa17 Release HOL4 and HOLLight Importer.
obua
parents: 17644
diff changeset
  3513
  SCANL :: "('b => 'a => 'b) => 'b => 'a list => 'b list" 
17644
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
  3514
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3515
specification (SCANL) SCANL: "(ALL (f::'b => 'a => 'b) e::'b. SCANL f e [] = [e]) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3516
(ALL (f::'b => 'a => 'b) (e::'b) (x::'a) l::'a list.
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3517
    SCANL f e (x # l) = e # SCANL f (f e x) l)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3518
  sorry
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  3519
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  3520
consts
17652
b1ef33ebfa17 Release HOL4 and HOLLight Importer.
obua
parents: 17644
diff changeset
  3521
  SCANR :: "('a => 'b => 'b) => 'b => 'a list => 'b list" 
17644
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
  3522
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3523
specification (SCANR) SCANR: "(ALL (f::'a => 'b => 'b) e::'b. SCANR f e [] = [e]) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3524
(ALL (f::'a => 'b => 'b) (e::'b) (x::'a) l::'a list.
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  3525
    SCANR f e (x # l) = f x (hd (SCANR f e l)) # SCANR f e l)"
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3526
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3527
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3528
lemma IS_EL_DEF: "List.member l x = list_ex (op = x) l"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3529
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3530
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3531
definition
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3532
  AND_EL :: "bool list => bool"  where
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  3533
  "AND_EL == list_all I"
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  3534
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  3535
lemma AND_EL_DEF: "AND_EL = list_all I"
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3536
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3537
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3538
definition
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3539
  OR_EL :: "bool list => bool"  where
37600
18f69eb29e66 list_ex replaces list_exists
haftmann
parents: 35416
diff changeset
  3540
  "OR_EL == list_ex I"
18f69eb29e66 list_ex replaces list_exists
haftmann
parents: 35416
diff changeset
  3541
18f69eb29e66 list_ex replaces list_exists
haftmann
parents: 35416
diff changeset
  3542
lemma OR_EL_DEF: "OR_EL = list_ex I"
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3543
  sorry
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  3544
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  3545
consts
17652
b1ef33ebfa17 Release HOL4 and HOLLight Importer.
obua
parents: 17644
diff changeset
  3546
  FIRSTN :: "nat => 'a list => 'a list" 
b1ef33ebfa17 Release HOL4 and HOLLight Importer.
obua
parents: 17644
diff changeset
  3547
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3548
specification (FIRSTN) FIRSTN: "(ALL l::'a list. FIRSTN (0::nat) l = []) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3549
(ALL (n::nat) (x::'a) l::'a list. FIRSTN (Suc n) (x # l) = x # FIRSTN n l)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3550
  sorry
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  3551
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  3552
consts
17652
b1ef33ebfa17 Release HOL4 and HOLLight Importer.
obua
parents: 17644
diff changeset
  3553
  BUTFIRSTN :: "nat => 'a list => 'a list" 
b1ef33ebfa17 Release HOL4 and HOLLight Importer.
obua
parents: 17644
diff changeset
  3554
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3555
specification (BUTFIRSTN) BUTFIRSTN: "(ALL l::'a list. BUTFIRSTN (0::nat) l = l) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3556
(ALL (n::nat) (x::'a) l::'a list. BUTFIRSTN (Suc n) (x # l) = BUTFIRSTN n l)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3557
  sorry
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  3558
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  3559
consts
17652
b1ef33ebfa17 Release HOL4 and HOLLight Importer.
obua
parents: 17644
diff changeset
  3560
  SEG :: "nat => nat => 'a list => 'a list" 
b1ef33ebfa17 Release HOL4 and HOLLight Importer.
obua
parents: 17644
diff changeset
  3561
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3562
specification (SEG) SEG: "(ALL (k::nat) l::'a list. SEG (0::nat) k l = []) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3563
(ALL (m::nat) (x::'a) l::'a list.
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3564
    SEG (Suc m) (0::nat) (x # l) = x # SEG m (0::nat) l) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3565
(ALL (m::nat) (k::nat) (x::'a) l::'a list.
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  3566
    SEG (Suc m) (Suc k) (x # l) = SEG (Suc m) k l)"
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3567
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3568
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3569
lemma LAST: "last (SNOC x l) = x"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3570
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3571
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3572
lemma BUTLAST: "butlast (SNOC x l) = l"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3573
  sorry
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  3574
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  3575
consts
17652
b1ef33ebfa17 Release HOL4 and HOLLight Importer.
obua
parents: 17644
diff changeset
  3576
  LASTN :: "nat => 'a list => 'a list" 
b1ef33ebfa17 Release HOL4 and HOLLight Importer.
obua
parents: 17644
diff changeset
  3577
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3578
specification (LASTN) LASTN: "(ALL l::'a list. LASTN (0::nat) l = []) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3579
(ALL (n::nat) (x::'a) l::'a list.
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  3580
    LASTN (Suc n) (SNOC x l) = SNOC x (LASTN n l))"
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3581
  sorry
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  3582
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  3583
consts
17652
b1ef33ebfa17 Release HOL4 and HOLLight Importer.
obua
parents: 17644
diff changeset
  3584
  BUTLASTN :: "nat => 'a list => 'a list" 
b1ef33ebfa17 Release HOL4 and HOLLight Importer.
obua
parents: 17644
diff changeset
  3585
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3586
specification (BUTLASTN) BUTLASTN: "(ALL l::'a list. BUTLASTN (0::nat) l = l) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3587
(ALL (n::nat) (x::'a) l::'a list.
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  3588
    BUTLASTN (Suc n) (SNOC x l) = BUTLASTN n l)"
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3589
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3590
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3591
lemma EL: "(ALL x::'a list. EL (0::nat) x = hd x) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3592
(ALL (x::nat) xa::'a list. EL (Suc x) xa = EL x (tl xa))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3593
  sorry
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  3594
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  3595
consts
17652
b1ef33ebfa17 Release HOL4 and HOLLight Importer.
obua
parents: 17644
diff changeset
  3596
  ELL :: "nat => 'a list => 'a" 
b1ef33ebfa17 Release HOL4 and HOLLight Importer.
obua
parents: 17644
diff changeset
  3597
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3598
specification (ELL) ELL: "(ALL l::'a list. ELL (0::nat) l = last l) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3599
(ALL (n::nat) l::'a list. ELL (Suc n) l = ELL n (butlast l))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3600
  sorry
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  3601
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  3602
consts
17652
b1ef33ebfa17 Release HOL4 and HOLLight Importer.
obua
parents: 17644
diff changeset
  3603
  IS_PREFIX :: "'a list => 'a list => bool" 
17644
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
  3604
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3605
specification (IS_PREFIX) IS_PREFIX: "(ALL l::'a list. IS_PREFIX l [] = True) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3606
(ALL (x::'a) l::'a list. IS_PREFIX [] (x # l) = False) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3607
(ALL (x1::'a) (l1::'a list) (x2::'a) l2::'a list.
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  3608
    IS_PREFIX (x1 # l1) (x2 # l2) = (x1 = x2 & IS_PREFIX l1 l2))"
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3609
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3610
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3611
lemma SNOC_APPEND: "SNOC x l = l @ [x]"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3612
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3613
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3614
lemma REVERSE: "rev [] = [] & (ALL (x::'a) xa::'a list. rev (x # xa) = SNOC x (rev xa))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3615
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3616
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3617
lemma REVERSE_SNOC: "rev (SNOC x l) = x # rev l"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3618
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3619
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3620
lemma SNOC_Axiom: "EX x. x [] = e & (ALL xa l. x (SNOC xa l) = f xa l (x l))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3621
  sorry
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  3622
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  3623
consts
17652
b1ef33ebfa17 Release HOL4 and HOLLight Importer.
obua
parents: 17644
diff changeset
  3624
  IS_SUFFIX :: "'a list => 'a list => bool" 
17644
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
  3625
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3626
specification (IS_SUFFIX) IS_SUFFIX: "(ALL l::'a list. IS_SUFFIX l [] = True) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3627
(ALL (x::'a) l::'a list. IS_SUFFIX [] (SNOC x l) = False) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3628
(ALL (x1::'a) (l1::'a list) (x2::'a) l2::'a list.
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  3629
    IS_SUFFIX (SNOC x1 l1) (SNOC x2 l2) = (x1 = x2 & IS_SUFFIX l1 l2))"
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3630
  sorry
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  3631
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  3632
consts
17652
b1ef33ebfa17 Release HOL4 and HOLLight Importer.
obua
parents: 17644
diff changeset
  3633
  IS_SUBLIST :: "'a list => 'a list => bool" 
17644
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
  3634
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3635
specification (IS_SUBLIST) IS_SUBLIST: "(ALL l::'a list. IS_SUBLIST l [] = True) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3636
(ALL (x::'a) l::'a list. IS_SUBLIST [] (x # l) = False) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3637
(ALL (x1::'a) (l1::'a list) (x2::'a) l2::'a list.
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  3638
    IS_SUBLIST (x1 # l1) (x2 # l2) =
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  3639
    (x1 = x2 & IS_PREFIX l1 l2 | IS_SUBLIST l1 (x2 # l2)))"
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3640
  sorry
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  3641
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  3642
consts
17652
b1ef33ebfa17 Release HOL4 and HOLLight Importer.
obua
parents: 17644
diff changeset
  3643
  SPLITP :: "('a => bool) => 'a list => 'a list * 'a list" 
17644
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
  3644
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3645
specification (SPLITP) SPLITP: "(ALL P::'a => bool. SPLITP P [] = ([], [])) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3646
(ALL (P::'a => bool) (x::'a) l::'a list.
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  3647
    SPLITP P (x # l) =
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  3648
    (if P x then ([], x # l) else (x # fst (SPLITP P l), snd (SPLITP P l))))"
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3649
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3650
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3651
definition
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3652
  PREFIX :: "('a => bool) => 'a list => 'a list"  where
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3653
  "PREFIX == %P l. fst (SPLITP (Not o P) l)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3654
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3655
lemma PREFIX_DEF: "PREFIX P l = fst (SPLITP (Not o P) l)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3656
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3657
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3658
definition
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3659
  SUFFIX :: "('a => bool) => 'a list => 'a list"  where
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3660
  "SUFFIX == %P. foldl (%l' x. if P x then SNOC x l' else []) []"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3661
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3662
lemma SUFFIX_DEF: "SUFFIX P l = foldl (%l' x. if P x then SNOC x l' else []) [] l"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3663
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3664
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3665
definition
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3666
  UNZIP_FST :: "('a * 'b) list => 'a list"  where
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3667
  "UNZIP_FST == %l. fst (unzip l)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3668
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3669
lemma UNZIP_FST_DEF: "UNZIP_FST l = fst (unzip l)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3670
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3671
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3672
definition
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3673
  UNZIP_SND :: "('a * 'b) list => 'b list"  where
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3674
  "UNZIP_SND == %l. snd (unzip l)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3675
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3676
lemma UNZIP_SND_DEF: "UNZIP_SND (l::('a * 'b) list) = snd (unzip l)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3677
  sorry
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  3678
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  3679
consts
17652
b1ef33ebfa17 Release HOL4 and HOLLight Importer.
obua
parents: 17644
diff changeset
  3680
  GENLIST :: "(nat => 'a) => nat => 'a list" 
b1ef33ebfa17 Release HOL4 and HOLLight Importer.
obua
parents: 17644
diff changeset
  3681
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3682
specification (GENLIST) GENLIST: "(ALL f::nat => 'a. GENLIST f (0::nat) = []) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3683
(ALL (f::nat => 'a) n::nat. GENLIST f (Suc n) = SNOC (f n) (GENLIST f n))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3684
  sorry
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  3685
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  3686
consts
17652
b1ef33ebfa17 Release HOL4 and HOLLight Importer.
obua
parents: 17644
diff changeset
  3687
  REPLICATE :: "nat => 'a => 'a list" 
b1ef33ebfa17 Release HOL4 and HOLLight Importer.
obua
parents: 17644
diff changeset
  3688
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3689
specification (REPLICATE) REPLICATE: "(ALL x::'a. REPLICATE (0::nat) x = []) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3690
(ALL (n::nat) x::'a. REPLICATE (Suc n) x = x # REPLICATE n x)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3691
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3692
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3693
lemma LENGTH_MAP2: "length l1 = length l2
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3694
==> length (map2 f l1 l2) = length l1 & length (map2 f l1 l2) = length l2"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3695
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3696
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3697
lemma LENGTH_EQ: "x = y ==> length x = length y"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3698
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3699
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3700
lemma LENGTH_NOT_NULL: "(0 < length l) = (~ List.null l)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3701
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3702
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3703
lemma SNOC_INDUCT: "P [] & (ALL l. P l --> (ALL x. P (SNOC x l))) ==> P x"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3704
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3705
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3706
lemma SNOC_CASES: "x' = [] | (EX x l. x' = SNOC x l)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3707
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3708
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3709
lemma LENGTH_SNOC: "length (SNOC x l) = Suc (length l)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3710
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3711
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3712
lemma NOT_NIL_SNOC: "[] ~= SNOC x xa"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3713
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3714
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3715
lemma NOT_SNOC_NIL: "SNOC x xa ~= []"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3716
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3717
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3718
lemma SNOC_11: "(SNOC x l = SNOC x' l') = (x = x' & l = l')"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3719
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3720
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3721
lemma SNOC_EQ_LENGTH_EQ: "SNOC x1 l1 = SNOC x2 l2 ==> length l1 = length l2"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3722
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3723
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3724
lemma SNOC_REVERSE_CONS: "SNOC x xa = rev (x # rev xa)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3725
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3726
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3727
lemma MAP_SNOC: "map (x::'a => 'b) (SNOC (xa::'a) (xb::'a list)) = SNOC (x xa) (map x xb)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3728
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3729
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3730
lemma FOLDR_SNOC: "foldr (f::'a => 'b => 'b) (SNOC (x::'a) (l::'a list)) (e::'b) =
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3731
foldr f l (f x e)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3732
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3733
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3734
lemma FOLDL_SNOC: "foldl (f::'b => 'a => 'b) (e::'b) (SNOC (x::'a) (l::'a list)) =
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3735
f (foldl f e l) x"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3736
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3737
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3738
lemma FOLDR_FOLDL: "MONOID f e ==> foldr f l e = foldl f e l"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3739
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3740
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3741
lemma LENGTH_FOLDR: "length l = foldr (%x. Suc) l 0"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3742
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3743
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3744
lemma LENGTH_FOLDL: "length l = foldl (%l' x. Suc l') 0 l"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3745
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3746
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3747
lemma MAP_FOLDR: "map (f::'a => 'b) (l::'a list) = foldr (%x::'a. op # (f x)) l []"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3748
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3749
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3750
lemma MAP_FOLDL: "map (f::'a => 'b) (l::'a list) =
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3751
foldl (%(l'::'b list) x::'a. SNOC (f x) l') [] l"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3752
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3753
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3754
lemma FILTER_FOLDR: "filter P l = foldr (%x l'. if P x then x # l' else l') l []"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3755
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3756
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3757
lemma FILTER_SNOC: "filter P (SNOC x l) = (if P x then SNOC x (filter P l) else filter P l)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3758
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3759
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3760
lemma FILTER_FOLDL: "filter P l = foldl (%l' x. if P x then SNOC x l' else l') [] l"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3761
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3762
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3763
lemma FILTER_COMM: "filter f1 (filter f2 l) = filter f2 (filter f1 l)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3764
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3765
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3766
lemma FILTER_IDEM: "filter f (filter f l) = filter f l"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3767
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3768
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3769
lemma LENGTH_SEG: "n + k <= length l ==> length (SEG n k l) = n"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3770
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3771
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3772
lemma APPEND_NIL: "(ALL l::'a list. l @ [] = l) & (ALL x::'a list. [] @ x = x)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3773
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3774
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3775
lemma APPEND_SNOC: "l1 @ SNOC x l2 = SNOC x (l1 @ l2)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3776
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3777
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3778
lemma APPEND_FOLDR: "l1 @ l2 = foldr op # l1 l2"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3779
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3780
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3781
lemma APPEND_FOLDL: "l1 @ l2 = foldl (%l' x. SNOC x l') l1 l2"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3782
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3783
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3784
lemma CONS_APPEND: "x # l = [x] @ l"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3785
  sorry
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  3786
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  3787
lemma ASSOC_APPEND: "ASSOC op @"
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3788
  sorry
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  3789
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  3790
lemma MONOID_APPEND_NIL: "MONOID op @ []"
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3791
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3792
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3793
lemma APPEND_LENGTH_EQ: "[| length l1 = length l1'; length l2 = length l2' |]
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3794
==> (l1 @ l2 = l1' @ l2') = (l1 = l1' & l2 = l2')"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3795
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3796
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3797
lemma FLAT_SNOC: "concat (SNOC x l) = concat l @ x"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3798
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3799
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3800
lemma FLAT_FOLDR: "concat l = foldr op @ l []"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3801
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3802
46787
3d3d8f8929a7 file system structure separating HOL4 and HOL Light concerns
haftmann
parents: 46780
diff changeset
  3803
lemma LENGTH_FLAT: "length (concat l) = Compatibility.sum (map length l)"
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3804
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3805
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3806
lemma REVERSE_FOLDR: "rev l = foldr SNOC l []"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3807
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3808
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3809
lemma ALL_EL_SNOC: "list_all P (SNOC x l) = (list_all P l & P x)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3810
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3811
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3812
lemma ALL_EL_MAP: "list_all (P::'b => bool) (map (f::'a => 'b) (l::'a list)) =
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3813
list_all (P o f) l"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3814
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3815
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3816
lemma SOME_EL_SNOC: "list_ex P (SNOC x l) = (P x | list_ex P l)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3817
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3818
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3819
lemma IS_EL_SNOC: "List.member (SNOC x l) y = (y = x | List.member l y)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3820
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3821
46787
3d3d8f8929a7 file system structure separating HOL4 and HOL Light concerns
haftmann
parents: 46780
diff changeset
  3822
lemma SUM_SNOC: "Compatibility.sum (SNOC x l) = Compatibility.sum l + x"
3d3d8f8929a7 file system structure separating HOL4 and HOL Light concerns
haftmann
parents: 46780
diff changeset
  3823
  sorry
3d3d8f8929a7 file system structure separating HOL4 and HOL Light concerns
haftmann
parents: 46780
diff changeset
  3824
3d3d8f8929a7 file system structure separating HOL4 and HOL Light concerns
haftmann
parents: 46780
diff changeset
  3825
lemma SUM_FOLDL: "Compatibility.sum l = foldl op + 0 l"
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3826
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3827
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3828
lemma IS_PREFIX_APPEND: "IS_PREFIX l1 l2 = (EX l. l1 = l2 @ l)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3829
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3830
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3831
lemma IS_SUFFIX_APPEND: "IS_SUFFIX l1 l2 = (EX l. l1 = l @ l2)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3832
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3833
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3834
lemma IS_SUBLIST_APPEND: "IS_SUBLIST l1 l2 = (EX l l'. l1 = l @ l2 @ l')"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3835
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3836
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3837
lemma IS_PREFIX_IS_SUBLIST: "IS_PREFIX l1 l2 ==> IS_SUBLIST l1 l2"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3838
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3839
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3840
lemma IS_SUFFIX_IS_SUBLIST: "IS_SUFFIX l1 l2 ==> IS_SUBLIST l1 l2"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3841
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3842
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3843
lemma IS_PREFIX_REVERSE: "IS_PREFIX (rev l1) (rev l2) = IS_SUFFIX l1 l2"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3844
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3845
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3846
lemma IS_SUFFIX_REVERSE: "IS_SUFFIX (rev l1) (rev l2) = IS_PREFIX l1 l2"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3847
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3848
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3849
lemma IS_SUBLIST_REVERSE: "IS_SUBLIST (rev l1) (rev l2) = IS_SUBLIST l1 l2"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3850
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3851
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3852
lemma PREFIX_FOLDR: "PREFIX P x = foldr (%x l'. if P x then x # l' else []) x []"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3853
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3854
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3855
lemma PREFIX: "(ALL x::'a => bool. PREFIX x [] = []) &
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3856
(ALL (x::'a => bool) (xa::'a) xb::'a list.
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  3857
    PREFIX x (xa # xb) = (if x xa then xa # PREFIX x xb else []))"
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3858
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3859
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3860
lemma IS_PREFIX_PREFIX: "IS_PREFIX l (PREFIX P l)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3861
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3862
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3863
lemma LENGTH_SCANL: "length (SCANL (f::'b => 'a => 'b) (e::'b) (l::'a list)) = Suc (length l)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3864
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3865
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3866
lemma LENGTH_SCANR: "length (SCANR (f::'a => 'b => 'b) (e::'b) (l::'a list)) = Suc (length l)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3867
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3868
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3869
lemma COMM_MONOID_FOLDL: "[| COMM x; MONOID x xa |] ==> foldl x e l = x e (foldl x xa l)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3870
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3871
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3872
lemma COMM_MONOID_FOLDR: "[| COMM x; MONOID x xa |] ==> foldr x l e = x e (foldr x l xa)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3873
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3874
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3875
lemma FCOMM_FOLDR_APPEND: "[| FCOMM x xa; LEFT_ID x xb |]
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3876
==> foldr xa (l1 @ l2) xb = x (foldr xa l1 xb) (foldr xa l2 xb)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3877
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3878
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3879
lemma FCOMM_FOLDL_APPEND: "[| FCOMM x xa; RIGHT_ID xa xb |]
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3880
==> foldl x xb (l1 @ l2) = xa (foldl x xb l1) (foldl x xb l2)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3881
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3882
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3883
lemma FOLDL_SINGLE: "foldl x xa [xb] = x xa xb"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3884
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3885
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3886
lemma FOLDR_SINGLE: "foldr (x::'a => 'b => 'b) [xb::'a] (xa::'b) = x xb xa"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3887
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3888
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3889
lemma FOLDR_CONS_NIL: "foldr op # l [] = l"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3890
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3891
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3892
lemma FOLDL_SNOC_NIL: "foldl (%xs x. SNOC x xs) [] l = l"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3893
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3894
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3895
lemma FOLDR_REVERSE: "foldr (x::'a => 'b => 'b) (rev (xb::'a list)) (xa::'b) =
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3896
foldl (%(xa::'b) y::'a. x y xa) xa xb"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3897
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3898
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3899
lemma FOLDL_REVERSE: "foldl x xa (rev xb) = foldr (%xa y. x y xa) xb xa"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3900
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3901
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3902
lemma FOLDR_MAP: "foldr (f::'a => 'a => 'a) (map (g::'b => 'a) (l::'b list)) (e::'a) =
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3903
foldr (%x::'b. f (g x)) l e"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3904
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3905
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3906
lemma ALL_EL_FOLDR: "list_all P l = foldr (%x. op & (P x)) l True"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3907
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3908
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3909
lemma ALL_EL_FOLDL: "list_all P l = foldl (%l' x. l' & P x) True l"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3910
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3911
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3912
lemma SOME_EL_FOLDR: "list_ex P l = foldr (%x. op | (P x)) l False"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3913
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3914
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3915
lemma SOME_EL_FOLDL: "list_ex P l = foldl (%l' x. l' | P x) False l"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3916
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3917
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3918
lemma ALL_EL_FOLDR_MAP: "list_all x xa = foldr op & (map x xa) True"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3919
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3920
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3921
lemma ALL_EL_FOLDL_MAP: "list_all x xa = foldl op & True (map x xa)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3922
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3923
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3924
lemma SOME_EL_FOLDR_MAP: "list_ex x xa = foldr op | (map x xa) False"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3925
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3926
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3927
lemma SOME_EL_FOLDL_MAP: "list_ex x xa = foldl op | False (map x xa)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3928
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3929
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3930
lemma FOLDR_FILTER: "foldr (f::'a => 'a => 'a) (filter (P::'a => bool) (l::'a list)) (e::'a) =
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3931
foldr (%(x::'a) y::'a. if P x then f x y else y) l e"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3932
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3933
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3934
lemma FOLDL_FILTER: "foldl (f::'a => 'a => 'a) (e::'a) (filter (P::'a => bool) (l::'a list)) =
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3935
foldl (%(x::'a) y::'a. if P y then f x y else x) e l"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3936
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3937
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3938
lemma ASSOC_FOLDR_FLAT: "[| ASSOC f; LEFT_ID f e |]
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3939
==> foldr f (concat l) e = foldr f (map (FOLDR f e) l) e"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3940
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3941
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3942
lemma ASSOC_FOLDL_FLAT: "[| ASSOC f; RIGHT_ID f e |]
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3943
==> foldl f e (concat l) = foldl f e (map (foldl f e) l)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3944
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3945
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3946
lemma SOME_EL_MAP: "list_ex (P::'b => bool) (map (f::'a => 'b) (l::'a list)) = list_ex (P o f) l"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3947
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3948
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3949
lemma SOME_EL_DISJ: "list_ex (%x. P x | Q x) l = (list_ex P l | list_ex Q l)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3950
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3951
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3952
lemma IS_EL_FOLDR: "List.member xa x = foldr (%xa. op | (x = xa)) xa False"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3953
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3954
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3955
lemma IS_EL_FOLDL: "List.member xa x = foldl (%l' xa. l' | x = xa) False xa"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3956
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3957
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3958
lemma NULL_FOLDR: "List.null l = foldr (%x l'. False) l True"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3959
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3960
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3961
lemma NULL_FOLDL: "List.null l = foldl (%x l'. False) True l"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3962
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3963
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3964
lemma SEG_LENGTH_ID: "SEG (length l) 0 l = l"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3965
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3966
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3967
lemma SEG_SUC_CONS: "SEG m (Suc n) (x # l) = SEG m n l"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3968
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3969
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3970
lemma SEG_0_SNOC: "m <= length l ==> SEG m 0 (SNOC x l) = SEG m 0 l"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3971
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3972
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3973
lemma BUTLASTN_SEG: "n <= length l ==> BUTLASTN n l = SEG (length l - n) 0 l"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3974
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3975
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3976
lemma LASTN_CONS: "n <= length l ==> LASTN n (x # l) = LASTN n l"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3977
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3978
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3979
lemma LENGTH_LASTN: "n <= length l ==> length (LASTN n l) = n"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3980
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3981
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3982
lemma LASTN_LENGTH_ID: "LASTN (length l) l = l"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3983
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3984
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3985
lemma LASTN_LASTN: "[| m <= length l; n <= m |] ==> LASTN n (LASTN m l) = LASTN n l"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3986
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3987
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3988
lemma FIRSTN_LENGTH_ID: "FIRSTN (length l) l = l"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3989
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3990
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3991
lemma FIRSTN_SNOC: "n <= length l ==> FIRSTN n (SNOC x l) = FIRSTN n l"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3992
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3993
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3994
lemma BUTLASTN_LENGTH_NIL: "BUTLASTN (length l) l = []"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3995
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3996
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3997
lemma BUTLASTN_SUC_BUTLAST: "n < length l ==> BUTLASTN (Suc n) l = BUTLASTN n (butlast l)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3998
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  3999
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4000
lemma BUTLASTN_BUTLAST: "n < length l ==> BUTLASTN n (butlast l) = butlast (BUTLASTN n l)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4001
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4002
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4003
lemma LENGTH_BUTLASTN: "n <= length l ==> length (BUTLASTN n l) = length l - n"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4004
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4005
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4006
lemma BUTLASTN_BUTLASTN: "n + m <= length l ==> BUTLASTN n (BUTLASTN m l) = BUTLASTN (n + m) l"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4007
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4008
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4009
lemma APPEND_BUTLASTN_LASTN: "n <= length l ==> BUTLASTN n l @ LASTN n l = l"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4010
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4011
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4012
lemma APPEND_FIRSTN_LASTN: "m + n = length l ==> FIRSTN n l @ LASTN m l = l"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4013
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4014
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4015
lemma BUTLASTN_APPEND2: "n <= length l2 ==> BUTLASTN n (l1 @ l2) = l1 @ BUTLASTN n l2"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4016
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4017
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4018
lemma BUTLASTN_LENGTH_APPEND: "BUTLASTN (length l2) (l1 @ l2) = l1"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4019
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4020
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4021
lemma LASTN_LENGTH_APPEND: "LASTN (length l2) (l1 @ l2) = l2"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4022
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4023
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4024
lemma BUTLASTN_CONS: "n <= length l ==> BUTLASTN n (x # l) = x # BUTLASTN n l"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4025
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4026
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4027
lemma BUTLASTN_LENGTH_CONS: "BUTLASTN (length l) (x # l) = [x]"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4028
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4029
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4030
lemma LAST_LASTN_LAST: "[| n <= length l; 0 < n |] ==> last (LASTN n l) = last l"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4031
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4032
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4033
lemma BUTLASTN_LASTN_NIL: "n <= length l ==> BUTLASTN n (LASTN n l) = []"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4034
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4035
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4036
lemma LASTN_BUTLASTN: "n + m <= length l ==> LASTN n (BUTLASTN m l) = BUTLASTN m (LASTN (n + m) l)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4037
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4038
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4039
lemma BUTLASTN_LASTN: "m <= n & n <= length l
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4040
==> BUTLASTN m (LASTN n l) = LASTN (n - m) (BUTLASTN m l)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4041
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4042
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4043
lemma LASTN_1: "l ~= [] ==> LASTN 1 l = [last l]"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4044
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4045
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4046
lemma BUTLASTN_1: "l ~= [] ==> BUTLASTN 1 l = butlast l"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4047
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4048
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4049
lemma BUTLASTN_APPEND1: "length l2 <= n ==> BUTLASTN n (l1 @ l2) = BUTLASTN (n - length l2) l1"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4050
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4051
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4052
lemma LASTN_APPEND2: "n <= length l2 ==> LASTN n (l1 @ l2) = LASTN n l2"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4053
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4054
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4055
lemma LASTN_APPEND1: "length l2 <= n ==> LASTN n (l1 @ l2) = LASTN (n - length l2) l1 @ l2"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4056
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4057
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4058
lemma LASTN_MAP: "n <= length l ==> LASTN n (map f l) = map f (LASTN n l)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4059
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4060
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4061
lemma BUTLASTN_MAP: "n <= length l ==> BUTLASTN n (map f l) = map f (BUTLASTN n l)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4062
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4063
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4064
lemma ALL_EL_LASTN: "[| list_all P l; m <= length l |] ==> list_all P (LASTN m l)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4065
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4066
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4067
lemma ALL_EL_BUTLASTN: "[| list_all P l; m <= length l |] ==> list_all P (BUTLASTN m l)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4068
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4069
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4070
lemma LENGTH_FIRSTN: "n <= length l ==> length (FIRSTN n l) = n"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4071
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4072
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4073
lemma FIRSTN_FIRSTN: "[| m <= length l; n <= m |] ==> FIRSTN n (FIRSTN m l) = FIRSTN n l"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4074
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4075
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4076
lemma LENGTH_BUTFIRSTN: "n <= length l ==> length (BUTFIRSTN n l) = length l - n"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4077
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4078
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4079
lemma BUTFIRSTN_LENGTH_NIL: "BUTFIRSTN (length l) l = []"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4080
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4081
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4082
lemma BUTFIRSTN_APPEND1: "n <= length l1 ==> BUTFIRSTN n (l1 @ l2) = BUTFIRSTN n l1 @ l2"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4083
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4084
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4085
lemma BUTFIRSTN_APPEND2: "length l1 <= n ==> BUTFIRSTN n (l1 @ l2) = BUTFIRSTN (n - length l1) l2"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4086
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4087
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4088
lemma BUTFIRSTN_BUTFIRSTN: "n + m <= length l ==> BUTFIRSTN n (BUTFIRSTN m l) = BUTFIRSTN (n + m) l"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4089
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4090
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4091
lemma APPEND_FIRSTN_BUTFIRSTN: "n <= length l ==> FIRSTN n l @ BUTFIRSTN n l = l"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4092
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4093
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4094
lemma LASTN_SEG: "n <= length l ==> LASTN n l = SEG n (length l - n) l"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4095
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4096
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4097
lemma FIRSTN_SEG: "n <= length l ==> FIRSTN n l = SEG n 0 l"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4098
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4099
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4100
lemma BUTFIRSTN_SEG: "n <= length l ==> BUTFIRSTN n l = SEG (length l - n) n l"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4101
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4102
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4103
lemma BUTFIRSTN_SNOC: "n <= length l ==> BUTFIRSTN n (SNOC x l) = SNOC x (BUTFIRSTN n l)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4104
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4105
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4106
lemma APPEND_BUTLASTN_BUTFIRSTN: "m + n = length l ==> BUTLASTN m l @ BUTFIRSTN n l = l"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4107
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4108
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4109
lemma SEG_SEG: "n1 + m1 <= length l & n2 + m2 <= n1
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4110
==> SEG n2 m2 (SEG n1 m1 l) = SEG n2 (m1 + m2) l"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4111
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4112
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4113
lemma SEG_APPEND1: "n + m <= length l1 ==> SEG n m (l1 @ l2) = SEG n m l1"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4114
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4115
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4116
lemma SEG_APPEND2: "length l1 <= m & n <= length l2
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4117
==> SEG n m (l1 @ l2) = SEG n (m - length l1) l2"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4118
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4119
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4120
lemma SEG_FIRSTN_BUTFISTN: "n + m <= length l ==> SEG n m l = FIRSTN n (BUTFIRSTN m l)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4121
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4122
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4123
lemma SEG_APPEND: "m < length l1 & length l1 <= n + m & n + m <= length l1 + length l2
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4124
==> SEG n m (l1 @ l2) =
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4125
    SEG (length l1 - m) m l1 @ SEG (n + m - length l1) 0 l2"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4126
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4127
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4128
lemma SEG_LENGTH_SNOC: "SEG 1 (length x) (SNOC xa x) = [xa]"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4129
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4130
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4131
lemma SEG_SNOC: "n + m <= length l ==> SEG n m (SNOC x l) = SEG n m l"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4132
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4133
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4134
lemma ELL_SEG: "n < length l ==> ELL n l = hd (SEG 1 (PRE (length l - n)) l)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4135
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4136
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4137
lemma SNOC_FOLDR: "SNOC x l = foldr op # l [x]"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4138
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4139
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4140
lemma IS_EL_FOLDR_MAP: "List.member xa x = foldr op | (map (op = x) xa) False"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4141
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4142
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4143
lemma IS_EL_FOLDL_MAP: "List.member xa x = foldl op | False (map (op = x) xa)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4144
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4145
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4146
lemma FILTER_FILTER: "filter P (filter Q l) = [x<-l. P x & Q x]"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4147
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4148
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4149
lemma FCOMM_FOLDR_FLAT: "[| FCOMM g f; LEFT_ID g e |]
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4150
==> foldr f (concat l) e = foldr g (map (FOLDR f e) l) e"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4151
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4152
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4153
lemma FCOMM_FOLDL_FLAT: "[| FCOMM f g; RIGHT_ID g e |]
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4154
==> foldl f e (concat l) = foldl g e (map (foldl f e) l)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4155
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4156
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4157
lemma FOLDR_MAP_REVERSE: "(!!(a::'a) (b::'a) c::'a. (f::'a => 'a => 'a) a (f b c) = f b (f a c))
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4158
==> foldr f (map (g::'b => 'a) (rev (l::'b list))) (e::'a) =
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4159
    foldr f (map g l) e"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4160
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4161
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4162
lemma FOLDR_FILTER_REVERSE: "(!!(a::'a) (b::'a) c::'a. (f::'a => 'a => 'a) a (f b c) = f b (f a c))
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4163
==> foldr f (filter (P::'a => bool) (rev (l::'a list))) (e::'a) =
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4164
    foldr f (filter P l) e"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4165
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4166
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4167
lemma COMM_ASSOC_FOLDR_REVERSE: "[| COMM f; ASSOC f |] ==> foldr f (rev l) e = foldr f l e"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4168
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4169
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4170
lemma COMM_ASSOC_FOLDL_REVERSE: "[| COMM f; ASSOC f |] ==> foldl f e (rev l) = foldl f e l"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4171
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4172
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4173
lemma ELL_LAST: "~ List.null l ==> ELL 0 l = last l"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4174
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4175
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4176
lemma ELL_0_SNOC: "ELL 0 (SNOC x l) = x"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4177
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4178
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4179
lemma ELL_SNOC: "0 < n ==> ELL n (SNOC x l) = ELL (PRE n) l"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4180
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4181
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4182
lemma ELL_SUC_SNOC: "ELL (Suc n) (SNOC x xa) = ELL n xa"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4183
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4184
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4185
lemma ELL_CONS: "n < length l ==> ELL n (x # l) = ELL n l"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4186
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4187
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4188
lemma ELL_LENGTH_CONS: "ELL (length l) (x # l) = x"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4189
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4190
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4191
lemma ELL_LENGTH_SNOC: "ELL (length l) (SNOC x l) = (if List.null l then x else hd l)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4192
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4193
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4194
lemma ELL_APPEND2: "n < length l2 ==> ELL n (l1 @ l2) = ELL n l2"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4195
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4196
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4197
lemma ELL_APPEND1: "length l2 <= n ==> ELL n (l1 @ l2) = ELL (n - length l2) l1"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4198
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4199
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4200
lemma ELL_PRE_LENGTH: "l ~= [] ==> ELL (PRE (length l)) l = hd l"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4201
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4202
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4203
lemma EL_LENGTH_SNOC: "EL (length l) (SNOC x l) = x"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4204
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4205
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4206
lemma EL_PRE_LENGTH: "l ~= [] ==> EL (PRE (length l)) l = last l"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4207
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4208
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4209
lemma EL_SNOC: "n < length l ==> EL n (SNOC x l) = EL n l"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4210
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4211
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4212
lemma EL_ELL: "n < length l ==> EL n l = ELL (PRE (length l - n)) l"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4213
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4214
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4215
lemma EL_LENGTH_APPEND: "~ List.null l2 ==> EL (length l1) (l1 @ l2) = hd l2"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4216
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4217
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4218
lemma ELL_EL: "n < length l ==> ELL n l = EL (PRE (length l - n)) l"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4219
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4220
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4221
lemma ELL_MAP: "n < length l ==> ELL n (map f l) = f (ELL n l)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4222
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4223
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4224
lemma LENGTH_BUTLAST: "l ~= [] ==> length (butlast l) = PRE (length l)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4225
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4226
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4227
lemma BUTFIRSTN_LENGTH_APPEND: "BUTFIRSTN (length l1) (l1 @ l2) = l2"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4228
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4229
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4230
lemma FIRSTN_APPEND1: "n <= length l1 ==> FIRSTN n (l1 @ l2) = FIRSTN n l1"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4231
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4232
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4233
lemma FIRSTN_APPEND2: "length l1 <= n ==> FIRSTN n (l1 @ l2) = l1 @ FIRSTN (n - length l1) l2"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4234
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4235
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4236
lemma FIRSTN_LENGTH_APPEND: "FIRSTN (length l1) (l1 @ l2) = l1"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4237
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4238
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4239
lemma REVERSE_FLAT: "rev (concat l) = concat (rev (map rev l))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4240
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4241
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4242
lemma MAP_FILTER: "(!!x. P (f x) = P x) ==> map f (filter P l) = filter P (map f l)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4243
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4244
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4245
lemma FLAT_REVERSE: "concat (rev l) = rev (concat (map rev l))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4246
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4247
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4248
lemma FLAT_FLAT: "concat (concat l) = concat (map concat l)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4249
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4250
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4251
lemma ALL_EL_SEG: "[| list_all P l; m + k <= length l |] ==> list_all P (SEG m k l)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4252
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4253
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4254
lemma ALL_EL_FIRSTN: "[| list_all P l; m <= length l |] ==> list_all P (FIRSTN m l)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4255
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4256
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4257
lemma ALL_EL_BUTFIRSTN: "[| list_all P l; m <= length l |] ==> list_all P (BUTFIRSTN m l)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4258
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4259
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4260
lemma SOME_EL_SEG: "[| m + k <= length l; list_ex P (SEG m k l) |] ==> list_ex P l"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4261
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4262
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4263
lemma SOME_EL_FIRSTN: "[| m <= length l; list_ex P (FIRSTN m l) |] ==> list_ex P l"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4264
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4265
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4266
lemma SOME_EL_BUTFIRSTN: "[| m <= length l; list_ex P (BUTFIRSTN m l) |] ==> list_ex P l"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4267
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4268
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4269
lemma SOME_EL_LASTN: "[| m <= length l; list_ex P (LASTN m l) |] ==> list_ex P l"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4270
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4271
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4272
lemma SOME_EL_BUTLASTN: "[| m <= length l; list_ex P (BUTLASTN m l) |] ==> list_ex P l"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4273
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4274
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4275
lemma IS_EL_REVERSE: "List.member (rev l) x = List.member l x"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4276
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4277
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4278
lemma IS_EL_FILTER: "P x ==> List.member (filter P l) x = List.member l x"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4279
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4280
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4281
lemma IS_EL_SEG: "[| n + m <= length l; List.member (SEG n m l) x |] ==> List.member l x"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4282
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4283
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4284
lemma IS_EL_SOME_EL: "List.member l x = list_ex (op = x) l"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4285
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4286
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4287
lemma IS_EL_FIRSTN: "[| x <= length xa; List.member (FIRSTN x xa) xb |] ==> List.member xa xb"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4288
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4289
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4290
lemma IS_EL_BUTFIRSTN: "[| x <= length xa; List.member (BUTFIRSTN x xa) xb |] ==> List.member xa xb"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4291
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4292
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4293
lemma IS_EL_BUTLASTN: "[| x <= length xa; List.member (BUTLASTN x xa) xb |] ==> List.member xa xb"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4294
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4295
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4296
lemma IS_EL_LASTN: "[| x <= length xa; List.member (LASTN x xa) xb |] ==> List.member xa xb"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4297
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4298
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4299
lemma ZIP_SNOC: "length l1 = length l2
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4300
==> zip (SNOC x1 l1) (SNOC x2 l2) = SNOC (x1, x2) (zip l1 l2)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4301
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4302
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4303
lemma UNZIP_SNOC: "unzip (SNOC x l) =
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4304
(SNOC (fst x) (fst (unzip l)), SNOC (snd x) (snd (unzip l)))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4305
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4306
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4307
lemma LENGTH_UNZIP_FST: "length (UNZIP_FST x) = length x"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4308
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4309
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4310
lemma LENGTH_UNZIP_SND: "length (UNZIP_SND (x::('a * 'b) list)) = length x"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4311
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4312
46787
3d3d8f8929a7 file system structure separating HOL4 and HOL Light concerns
haftmann
parents: 46780
diff changeset
  4313
lemma SUM_APPEND: "Compatibility.sum (l1 @ l2) = Compatibility.sum l1 + Compatibility.sum l2"
3d3d8f8929a7 file system structure separating HOL4 and HOL Light concerns
haftmann
parents: 46780
diff changeset
  4314
  sorry
3d3d8f8929a7 file system structure separating HOL4 and HOL Light concerns
haftmann
parents: 46780
diff changeset
  4315
3d3d8f8929a7 file system structure separating HOL4 and HOL Light concerns
haftmann
parents: 46780
diff changeset
  4316
lemma SUM_REVERSE: "Compatibility.sum (rev l) = Compatibility.sum l"
3d3d8f8929a7 file system structure separating HOL4 and HOL Light concerns
haftmann
parents: 46780
diff changeset
  4317
  sorry
3d3d8f8929a7 file system structure separating HOL4 and HOL Light concerns
haftmann
parents: 46780
diff changeset
  4318
3d3d8f8929a7 file system structure separating HOL4 and HOL Light concerns
haftmann
parents: 46780
diff changeset
  4319
lemma SUM_FLAT: "Compatibility.sum (concat l) = Compatibility.sum (map Compatibility.sum l)"
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4320
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4321
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4322
lemma EL_APPEND1: "n < length l1 ==> EL n (l1 @ l2) = EL n l1"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4323
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4324
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4325
lemma EL_APPEND2: "length l1 <= n ==> EL n (l1 @ l2) = EL (n - length l1) l2"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4326
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4327
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4328
lemma EL_MAP: "n < length l ==> EL n (map f l) = f (EL n l)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4329
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4330
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4331
lemma EL_CONS: "0 < n ==> EL n (x # l) = EL (PRE n) l"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4332
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4333
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4334
lemma EL_SEG: "n < length l ==> EL n l = hd (SEG 1 n l)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4335
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4336
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4337
lemma EL_IS_EL: "n < length l ==> List.member l (EL n l)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4338
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4339
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4340
lemma TL_SNOC: "tl (SNOC x l) = (if List.null l then [] else SNOC x (tl l))"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4341
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4342
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4343
lemma EL_REVERSE: "n < length l ==> EL n (rev l) = EL (PRE (length l - n)) l"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4344
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4345
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4346
lemma EL_REVERSE_ELL: "n < length l ==> EL n (rev l) = ELL n l"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4347
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4348
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4349
lemma ELL_LENGTH_APPEND: "~ List.null l1 ==> ELL (length l2) (l1 @ l2) = last l1"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4350
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4351
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4352
lemma ELL_IS_EL: "n < length l ==> List.member l (ELL n l)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4353
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4354
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4355
lemma ELL_REVERSE: "n < length l ==> ELL n (rev l) = ELL (PRE (length l - n)) l"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4356
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4357
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4358
lemma ELL_REVERSE_EL: "n < length l ==> ELL n (rev l) = EL n l"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4359
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4360
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4361
lemma FIRSTN_BUTLASTN: "n <= length l ==> FIRSTN n l = BUTLASTN (length l - n) l"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4362
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4363
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4364
lemma BUTLASTN_FIRSTN: "n <= length l ==> BUTLASTN n l = FIRSTN (length l - n) l"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4365
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4366
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4367
lemma LASTN_BUTFIRSTN: "n <= length l ==> LASTN n l = BUTFIRSTN (length l - n) l"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4368
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4369
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4370
lemma BUTFIRSTN_LASTN: "n <= length l ==> BUTFIRSTN n l = LASTN (length l - n) l"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4371
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4372
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4373
lemma SEG_LASTN_BUTLASTN: "n + m <= length l ==> SEG n m l = LASTN n (BUTLASTN (length l - (n + m)) l)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4374
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4375
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4376
lemma BUTFIRSTN_REVERSE: "n <= length l ==> BUTFIRSTN n (rev l) = rev (BUTLASTN n l)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4377
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4378
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4379
lemma BUTLASTN_REVERSE: "n <= length l ==> BUTLASTN n (rev l) = rev (BUTFIRSTN n l)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4380
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4381
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4382
lemma LASTN_REVERSE: "n <= length l ==> LASTN n (rev l) = rev (FIRSTN n l)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4383
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4384
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4385
lemma FIRSTN_REVERSE: "n <= length l ==> FIRSTN n (rev l) = rev (LASTN n l)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4386
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4387
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4388
lemma SEG_REVERSE: "n + m <= length l ==> SEG n m (rev l) = rev (SEG n (length l - (n + m)) l)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4389
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4390
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4391
lemma LENGTH_GENLIST: "length (GENLIST f n) = n"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4392
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4393
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4394
lemma LENGTH_REPLICATE: "length (REPLICATE n x) = n"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4395
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4396
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4397
lemma IS_EL_REPLICATE: "0 < n ==> List.member (REPLICATE n x) x"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4398
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4399
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4400
lemma ALL_EL_REPLICATE: "list_all (op = x) (REPLICATE n x)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4401
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4402
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4403
lemma AND_EL_FOLDL: "AND_EL l = foldl op & True l"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4404
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4405
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4406
lemma AND_EL_FOLDR: "AND_EL l = foldr op & l True"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4407
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4408
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4409
lemma OR_EL_FOLDL: "OR_EL l = foldl op | False l"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4410
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4411
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4412
lemma OR_EL_FOLDR: "OR_EL l = foldr op | l False"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4413
  sorry
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  4414
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  4415
;end_setup
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  4416
46787
3d3d8f8929a7 file system structure separating HOL4 and HOL Light concerns
haftmann
parents: 46780
diff changeset
  4417
setup_theory "~~/src/HOL/Import/HOL4/Generated" state_transformer
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  4418
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4419
definition
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4420
  UNIT :: "'b => 'a => 'b * 'a"  where
17644
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
  4421
  "(op ==::('b::type => 'a::type => 'b::type * 'a::type)
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
  4422
        => ('b::type => 'a::type => 'b::type * 'a::type) => prop)
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
  4423
 (UNIT::'b::type => 'a::type => 'b::type * 'a::type)
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
  4424
 (Pair::'b::type => 'a::type => 'b::type * 'a::type)"
bd59bfd4bf37 fixed disambiguation problem
obua
parents: 17566
diff changeset
  4425
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4426
lemma UNIT_DEF: "UNIT x = Pair x"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4427
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4428
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4429
definition
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4430
  BIND :: "('a => 'b * 'a) => ('b => 'a => 'c * 'a) => 'a => 'c * 'a"  where
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4431
  "BIND == %g f. (%(x, y). f x y) o g"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4432
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4433
lemma BIND_DEF: "BIND (g::'a => 'b * 'a) (f::'b => 'a => 'c * 'a) =
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4434
(%(x::'b, y::'a). f x y) o g"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4435
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4436
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4437
definition
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4438
  MMAP :: "('c => 'b) => ('a => 'c * 'a) => 'a => 'b * 'a"  where
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4439
  "MMAP == %(f::'c => 'b) m::'a => 'c * 'a. BIND m (UNIT o f)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4440
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4441
lemma MMAP_DEF: "MMAP f m = BIND m (UNIT o f)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4442
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4443
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4444
definition
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4445
  JOIN :: "('a => ('a => 'b * 'a) * 'a) => 'a => 'b * 'a"  where
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4446
  "JOIN == %z. BIND z I"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4447
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4448
lemma JOIN_DEF: "JOIN z = BIND z I"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4449
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4450
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4451
lemma BIND_LEFT_UNIT: "BIND (UNIT (x::'a)) (k::'a => 'b => 'c * 'b) = k x"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4452
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4453
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4454
lemma UNIT_UNCURRY: "prod_case UNIT x = x"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4455
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4456
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4457
lemma BIND_RIGHT_UNIT: "BIND k UNIT = k"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4458
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4459
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4460
lemma BIND_ASSOC: "BIND (x::'a => 'b * 'a)
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4461
 (%a::'b. BIND ((xa::'b => 'a => 'c * 'a) a) (xb::'c => 'a => 'd * 'a)) =
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4462
BIND (BIND x xa) xb"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4463
  sorry
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  4464
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  4465
lemma MMAP_ID: "MMAP I = I"
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4466
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4467
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4468
lemma MMAP_COMP: "MMAP ((f::'c => 'd) o (g::'b => 'c)) = MMAP f o MMAP g"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4469
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4470
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4471
lemma MMAP_UNIT: "MMAP (f::'b => 'c) o UNIT = UNIT o f"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4472
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4473
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4474
lemma MMAP_JOIN: "MMAP f o JOIN = JOIN o MMAP (MMAP f)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4475
  sorry
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  4476
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  4477
lemma JOIN_UNIT: "JOIN o UNIT = I"
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4478
  sorry
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  4479
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  4480
lemma JOIN_MMAP_UNIT: "JOIN o MMAP UNIT = I"
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4481
  sorry
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  4482
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  4483
lemma JOIN_MAP_JOIN: "JOIN o MMAP JOIN = JOIN o JOIN"
44763
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4484
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4485
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4486
lemma JOIN_MAP: "BIND (x::'a => 'b * 'a) (xa::'b => 'a => 'c * 'a) = JOIN (MMAP xa x)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4487
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4488
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4489
lemma FST_o_UNIT: "fst o UNIT (x::'a) = K x"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4490
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4491
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4492
lemma SND_o_UNIT: "snd o UNIT (x::'a) = I"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4493
  sorry
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4494
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4495
lemma FST_o_MMAP: "fst o MMAP (x::'a => 'b) (xa::'c => 'a * 'c) = x o (fst o xa)"
b50d5d694838 HOL/Import: Update HOL4 generated files to current Isabelle.
Cezary Kaliszyk <kaliszyk@in.tum.de>
parents: 37600
diff changeset
  4496
  sorry
14516
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  4497
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  4498
;end_setup
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  4499
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  4500
end
a183dec876ab Added HOL proof importer.
skalberg
parents:
diff changeset
  4501