src/HOL/Auth/Guard/List_Msg.thy
changeset 21404 eb85850d3eb7
parent 20768 1d478c2d621f
child 23746 a455e69c31cc
equal deleted inserted replaced
21403:dd58f13a8eb4 21404:eb85850d3eb7
    16 subsection{*Implementation of Lists by Messages*}
    16 subsection{*Implementation of Lists by Messages*}
    17 
    17 
    18 subsubsection{*nil is represented by any message which is not a pair*}
    18 subsubsection{*nil is represented by any message which is not a pair*}
    19 
    19 
    20 abbreviation (input)
    20 abbreviation (input)
    21   cons :: "msg => msg => msg"
    21   cons :: "msg => msg => msg" where
    22   "cons x l == {|x,l|}"
    22   "cons x l == {|x,l|}"
    23 
    23 
    24 subsubsection{*induction principle*}
    24 subsubsection{*induction principle*}
    25 
    25 
    26 lemma lmsg_induct: "[| !!x. not_MPair x ==> P x; !!x l. P l ==> P (cons x l) |]
    26 lemma lmsg_induct: "[| !!x. not_MPair x ==> P x; !!x l. P l ==> P (cons x l) |]
   132 subsection{*Agent Lists*}
   132 subsection{*Agent Lists*}
   133 
   133 
   134 subsubsection{*set of well-formed agent-list messages*}
   134 subsubsection{*set of well-formed agent-list messages*}
   135 
   135 
   136 abbreviation
   136 abbreviation
   137   nil :: msg
   137   nil :: msg where
   138   "nil == Number 0"
   138   "nil == Number 0"
   139 
   139 
   140 consts agl :: "msg set"
   140 consts agl :: "msg set"
   141 
   141 
   142 inductive agl
   142 inductive agl