src/HOL/Hoare/hoare_syntax.ML
changeset 74561 8e6c973003c8
parent 74503 403ce50e6a2a
child 74723 f05c73bf5968
equal deleted inserted replaced
74560:5c8177fd1295 74561:8e6c973003c8
    25 (
    25 (
    26   type T =
    26   type T =
    27     {Basic: string, Skip: string, Seq: string, Cond: string, While: string,
    27     {Basic: string, Skip: string, Seq: string, Cond: string, While: string,
    28       Valid: string, ValidTC: string} option;
    28       Valid: string, ValidTC: string} option;
    29   val empty: T = NONE;
    29   val empty: T = NONE;
    30   val extend = I;
       
    31   fun merge (data1, data2) =
    30   fun merge (data1, data2) =
    32     if is_some data1 andalso is_some data2 andalso data1 <> data2 then
    31     if is_some data1 andalso is_some data2 andalso data1 <> data2 then
    33       error "Cannot merge syntax from different Hoare Logics"
    32       error "Cannot merge syntax from different Hoare Logics"
    34     else merge_options (data1, data2);
    33     else merge_options (data1, data2);
    35 );
    34 );