diff -r 8c937127fd8c -r a4a870ec2e67 src/Sequents/Sequents.thy --- a/src/Sequents/Sequents.thy Tue Aug 03 13:15:54 1999 +0200 +++ b/src/Sequents/Sequents.thy Tue Aug 03 13:16:29 1999 +0200 @@ -3,7 +3,8 @@ Author: Lawrence C Paulson, Cambridge University Computer Laboratory Copyright 1993 University of Cambridge -Classical First-Order Sequent Calculus +Basis theory for parsing and pretty-printing of sequences to be used in +Sequent Calculi. *) Sequents = Pure + @@ -23,8 +24,8 @@ seq' consts - SeqO' :: "[o,seq']=>seq'" - Seq1' :: "o=>seq'" + SeqO' :: [o,seq']=>seq' + Seq1' :: o=>seq' (* concrete syntax *) @@ -34,25 +35,33 @@ syntax - SeqEmp :: "seq" ("") - SeqApp :: "[seqobj,seqcont] => seq" ("__") + SeqEmp :: seq ("") + SeqApp :: [seqobj,seqcont] => seq ("__") - SeqContEmp :: "seqcont" ("") - SeqContApp :: "[seqobj,seqcont] => seqcont" (",/ __") + SeqContEmp :: seqcont ("") + SeqContApp :: [seqobj,seqcont] => seqcont (",/ __") - SeqO :: "o => seqobj" ("_") - SeqId :: "'a => seqobj" ("$_") + SeqO :: o => seqobj ("_") + SeqId :: 'a => seqobj ("$_") types - single_seqe = "[seq,seqobj] => prop" - single_seqi = "[seq'=>seq',seq'=>seq'] => prop" - two_seqi = "[seq'=>seq', seq'=>seq'] => prop" - two_seqe = "[seq, seq] => prop" - three_seqi = "[seq'=>seq', seq'=>seq', seq'=>seq'] => prop" - three_seqe = "[seq, seq, seq] => prop" - four_seqi = "[seq'=>seq', seq'=>seq', seq'=>seq', seq'=>seq'] => prop" - four_seqe = "[seq, seq, seq, seq] => prop" + single_seqe = [seq,seqobj] => prop + single_seqi = [seq'=>seq',seq'=>seq'] => prop + two_seqi = [seq'=>seq', seq'=>seq'] => prop + two_seqe = [seq, seq] => prop + three_seqi = [seq'=>seq', seq'=>seq', seq'=>seq'] => prop + three_seqe = [seq, seq, seq] => prop + four_seqi = [seq'=>seq', seq'=>seq', seq'=>seq', seq'=>seq'] => prop + four_seqe = [seq, seq, seq, seq] => prop + + + sequence_name = seq'=>seq' + + +consts + (*Constant to allow definitions of SEQUENCES of formulas*) + "@Side" :: seq=>(seq'=>seq') ("<<(_)>>") end @@ -146,3 +155,8 @@ +(** for the <<...>> notation **) + +fun side_tr [s1] = seq_tr s1; + +val parse_translation = [("@Side", side_tr)];