# HG changeset patch # User blanchet # Date 1514905739 -3600 # Node ID 15ea49331fc7441c8c05094131e3981549a413c0 # Parent adaf279ce67b2b612bb7aa6f20949bb9b81e362c don't test 'old_datatype', which is on its way out diff -r adaf279ce67b -r 15ea49331fc7 src/HOL/Datatype_Examples/Compat.thy --- a/src/HOL/Datatype_Examples/Compat.thy Tue Jan 02 16:01:03 2018 +0100 +++ b/src/HOL/Datatype_Examples/Compat.thy Tue Jan 02 16:08:59 2018 +0100 @@ -27,38 +27,6 @@ |> tap (check_lens lens); \ -old_datatype 'a old_lst = Old_Nl | Old_Cns 'a "'a old_lst" - -text \ -A few tests to make sure that \old_datatype\ works as expected: -\ - -primrec old_len :: "'a old_lst \ nat" where - "old_len Old_Nl = 0" -| "old_len (Old_Cns _ xs) = Suc (old_len xs)" - -export_code old_len checking SML OCaml? Haskell? Scala - -lemma "Old_Nl = Old_Cns x xs" - nitpick (* [expect = genuine] *) - quickcheck [exhaustive, expect = counterexample] - quickcheck [random, expect = counterexample] - quickcheck [narrowing (* , expect = counterexample *)] - oops - -lemma "old_len xs = size xs" - by (induct xs) auto - -ML \get_descrs @{theory} (1, 1, 1) @{type_name old_lst}\ - -datatype 'a lst = Nl | Cns 'a "'a lst" - -ML \get_descrs @{theory} (0, 1, 1) @{type_name lst}\ - -datatype_compat lst - -ML \get_descrs @{theory} (1, 1, 1) @{type_name lst}\ - datatype 'b w = W | W' "'b w \ 'b list" ML \get_descrs @{theory} (0, 1, 1) @{type_name w}\ @@ -71,7 +39,7 @@ ML \get_descrs @{theory} (0, 1, 1) @{type_name s}\ -datatype 'd x = X | X' "('d x lst, 'd list) s" +datatype 'd x = X | X' "('d x list, 'd list) s" ML \get_descrs @{theory} (0, 1, 1) @{type_name x}\ @@ -87,7 +55,7 @@ thm x.induct x.rec thm compat_x.induct compat_x.rec -datatype 'a tttre = TTTre 'a "'a tttre lst lst lst" +datatype 'a tttre = TTTre 'a "'a tttre list list list" ML \get_descrs @{theory} (0, 1, 1) @{type_name tttre}\ @@ -98,7 +66,7 @@ thm tttre.induct tttre.rec thm compat_tttre.induct compat_tttre.rec -datatype 'a ftre = FEmp | FTre "'a \ 'a ftre lst" +datatype 'a ftre = FEmp | FTre "'a \ 'a ftre list" ML \get_descrs @{theory} (0, 1, 1) @{type_name ftre}\ @@ -109,7 +77,7 @@ thm ftre.induct ftre.rec thm compat_ftre.induct compat_ftre.rec -datatype 'a btre = BTre 'a "'a btre lst" "'a btre lst" +datatype 'a btre = BTre 'a "'a btre list" "'a btre list" ML \get_descrs @{theory} (0, 1, 1) @{type_name btre}\ @@ -130,7 +98,7 @@ ML \get_descrs @{theory} (2, 2, 2) @{type_name foo}\ ML \get_descrs @{theory} (2, 2, 2) @{type_name bar}\ -datatype 'a tre = Tre 'a "'a tre lst" +datatype 'a tre = Tre 'a "'a tre list" ML \get_descrs @{theory} (0, 1, 1) @{type_name tre}\ @@ -189,14 +157,6 @@ ML \get_descrs @{theory} (2, 2, 2) @{type_name foo'}\ ML \get_descrs @{theory} (2, 2, 2) @{type_name bar'}\ -old_datatype funky = Funky "funky tre" | Funky' - -ML \get_descrs @{theory} (3, 3, 3) @{type_name funky}\ - -old_datatype fnky = Fnky "nat tre" - -ML \get_descrs @{theory} (1, 1, 1) @{type_name fnky}\ - datatype tree = Tree "tree foo" ML \get_descrs @{theory} (0, 1, 1) @{type_name tree}\