access_control_module/ResrcAttr.thy (213 lines of code) (raw):

(* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you under the Apache License, Version 2.0 (the * "License"); you may not use this file except in compliance * with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. *) theory ResrcAttr imports Main UsrAttr TrustLevel ResrcType InfoType begin locale ResrcAttr=gid:SysId nogid valid_gid + iid:SysId noiid valid_iid + TrustLevel trusted untrusted is_trusted + PresrcType device normal is_normal + InfoType data func is_data for nogid::"'gid" and valid_gid::"'gid\<Rightarrow>bool" and noiid::"'iid" and valid_iid::"'iid\<Rightarrow>bool" and trusted::"'trustlevel" and untrusted::"'trustlevel" and is_trusted::"'trustlevel\<Rightarrow>bool" and device::"'presrctype" and normal::"'presrctype" and is_normal::"'presrctype\<Rightarrow>bool" and data::"'infotype" and func::"'infotype" and is_data::"'infotype\<Rightarrow>bool" + fixes noresrcattr::'resrcattr and resrc_attr::"'gid\<Rightarrow>'iid\<Rightarrow>'trustlevel\<Rightarrow>'presrctype\<Rightarrow>'infotype\<Rightarrow>'resrcattr" and resrcattr_presrcid::"'resrcattr\<Rightarrow>'gid" and resrcattr_infoid::"'resrcattr\<Rightarrow>'iid" and resrcattr_trustlevel::"'resrcattr\<Rightarrow>'trustlevel" and resrcattr_presrctype::"'resrcattr\<Rightarrow>'presrctype" and resrcattr_infotype::"'resrcattr\<Rightarrow>'infotype" assumes RESRCATTRHLR1:"resrcattr_presrcid noresrcattr=nogid" assumes RESRCATTRHLR2:"resrcattr_infoid noresrcattr=noiid" assumes RESRCATTRHLR3:"resrcattr_trustlevel noresrcattr=untrusted" assumes RESRCATTRHLR4:"resrcattr_presrctype noresrcattr=normal" assumes RESRCATTRHLR5:"resrcattr_infotype noresrcattr=data" assumes RESRCATTRHLR6:"resrcattr_presrcid(resrc_attr pid iid tr pt it)=pid" assumes RESRCATTRHLR7:"resrcattr_infoid(resrc_attr pid iid tr pt it)=iid" assumes RESRCATTRHLR8:"resrcattr_trustlevel(resrc_attr pid iid tr pt it)=tr" assumes RESRCATTRHLR9:"resrcattr_presrctype(resrc_attr pid iid tr pt it)=pt" assumes RESRCATTRHLR10:"resrcattr_infotype(resrc_attr pid iid tr pt it)=it" assumes RESRCATTRHLR11:"\<exists>pid iid tr pt it. x=resrc_attr pid iid tr pt it\<or>x=noresrcattr" print_locale! ResrcAttr locale SubjAttr=ResrcAttr nogid valid_gid noiid valid_iid trusted untrusted is_trusted device normal is_normal data func is_data noresrcattr resrc_attr resrcattr_presrcid resrcattr_infoid resrcattr_trustlevel resrcattr_presrctype resrcattr_infotype + cattr:UsrAttr nouid valid_uid nousrattr usr_attr usrattr_id + UsrAttrConf nouid valid_uid nousrattr usr_attr usrattr_id nousrattrconf usrattr_conf is_usrattrconf find_usrid delete_usrattr get_usrattr valid_usrattrconf for nogid::"'gid" and valid_gid::"'gid\<Rightarrow>bool" and noiid::"'iid" and valid_iid::"'iid\<Rightarrow>bool" and trusted::"'trustlevel" and untrusted::"'trustlevel" and is_trusted::"'trustlevel\<Rightarrow>bool" and device::"'presrctype" and normal::"'presrctype" and is_normal::"'presrctype\<Rightarrow>bool" and data::"'infotype" and func::"'infotype" and is_data::"'infotype\<Rightarrow>bool" and noresrcattr::'resrcattr and resrc_attr::"'gid\<Rightarrow>'iid\<Rightarrow>'trustlevel\<Rightarrow>'presrctype\<Rightarrow>'infotype\<Rightarrow>'resrcattr" and resrcattr_presrcid::"'resrcattr\<Rightarrow>'gid" and resrcattr_infoid::"'resrcattr\<Rightarrow>'iid" and resrcattr_trustlevel::"'resrcattr\<Rightarrow>'trustlevel" and resrcattr_presrctype::"'resrcattr\<Rightarrow>'presrctype" and resrcattr_infotype::"'resrcattr\<Rightarrow>'infotype" and nouid::"'uid" and valid_uid::"'uid\<Rightarrow>bool" and nousrattr::'usrattr and usr_attr::"'uid\<Rightarrow>'usrattr" and usrattr_id::"'usrattr\<Rightarrow>'uid" and nousrattrconf::"'usrattrconf" and usrattr_conf::"'usrattrconf\<Rightarrow>'usrattr\<Rightarrow>'usrattrconf" and is_usrattrconf::"'usrattrconf\<Rightarrow>bool" and find_usrid::"'usrattrconf\<Rightarrow>'usrattr\<Rightarrow>bool" and delete_usrattr::"'usrattrconf\<Rightarrow>'usrattr\<Rightarrow>'usrattrconf" and get_usrattr::"'usrattrconf\<Rightarrow>'uid\<Rightarrow>'usrattr" and valid_usrattrconf::"'usrattrconf\<Rightarrow>bool" + fixes nosubjattr::'subjattr and subj_attr::"'usrattr\<Rightarrow>'usrattrconf\<Rightarrow>'resrcattr\<Rightarrow>'subjattr" and subjattr_callerattr::"'subjattr\<Rightarrow>'usrattr" and subjattr_participants::"'subjattr\<Rightarrow>'usrattrconf" and subjattr_resrcattr::"'subjattr\<Rightarrow>'resrcattr" assumes SUBJATTRHLR1:"subjattr_callerattr nosubjattr=nousrattr" assumes SUBJATTRHLR2:"subjattr_participants nosubjattr=nousrattrconf" assumes SUBJATTRHLR3:"subjattr_resrcattr nosubjattr=noresrcattr" assumes SUBJATTRHLR4:"subjattr_callerattr(subj_attr uattr conf attr)=uattr" assumes SUBJATTRHLR5:"subjattr_participants(subj_attr uattr conf attr)=conf" assumes SUBJATTRHLR6:"subjattr_resrcattr(subj_attr uattr conf attr)=attr" assumes SUBJATTRHLR7:"\<exists>uattr conf attr. x=subj_attr uattr conf attr\<or>x=nosubjattr" print_locale! SubjAttr locale ObjAttr=ResrcAttr nogid valid_gid noiid valid_iid trusted untrusted is_trusted device normal is_normal data func is_data noresrcattr resrc_attr resrcattr_presrcid resrcattr_infoid resrcattr_trustlevel resrcattr_presrctype resrcattr_infotype + UsrAttrConf nouid valid_uid nousrattr usr_attr usrattr_id nousrattrconf usrattr_conf is_usrattrconf find_usrid delete_usrattr get_usrattr valid_usrattrconf for nogid::"'gid" and valid_gid::"'gid\<Rightarrow>bool" and noiid::"'iid" and valid_iid::"'iid\<Rightarrow>bool" and trusted::"'trustlevel" and untrusted::"'trustlevel" and is_trusted::"'trustlevel\<Rightarrow>bool" and device::"'presrctype" and normal::"'presrctype" and is_normal::"'presrctype\<Rightarrow>bool" and data::"'infotype" and func::"'infotype" and is_data::"'infotype\<Rightarrow>bool" and noresrcattr::'resrcattr and resrc_attr::"'gid\<Rightarrow>'iid\<Rightarrow>'trustlevel\<Rightarrow>'presrctype\<Rightarrow>'infotype\<Rightarrow>'resrcattr" and resrcattr_presrcid::"'resrcattr\<Rightarrow>'gid" and resrcattr_infoid::"'resrcattr\<Rightarrow>'iid" and resrcattr_trustlevel::"'resrcattr\<Rightarrow>'trustlevel" and resrcattr_presrctype::"'resrcattr\<Rightarrow>'presrctype" and resrcattr_infotype::"'resrcattr\<Rightarrow>'infotype" and nouid::"'uid" and valid_uid::"'uid\<Rightarrow>bool" and nousrattr::'usrattr and usr_attr::"'uid\<Rightarrow>'usrattr" and usrattr_id::"'usrattr\<Rightarrow>'uid" and nousrattrconf::"'usrattrconf" and usrattr_conf::"'usrattrconf\<Rightarrow>'usrattr\<Rightarrow>'usrattrconf" and is_usrattrconf::"'usrattrconf\<Rightarrow>bool" and find_usrid::"'usrattrconf\<Rightarrow>'usrattr\<Rightarrow>bool" and delete_usrattr::"'usrattrconf\<Rightarrow>'usrattr\<Rightarrow>'usrattrconf" and get_usrattr::"'usrattrconf\<Rightarrow>'uid\<Rightarrow>'usrattr" and valid_usrattrconf::"'usrattrconf\<Rightarrow>bool" + fixes noobjattr::'objattr and obj_attr::"'usrattrconf\<Rightarrow>'resrcattr\<Rightarrow>'objattr" and objattr_owners::"'objattr\<Rightarrow>'usrattrconf" and objattr_resrcattr::"'objattr\<Rightarrow>'resrcattr" assumes OBJATTRHLR1:"objattr_owners noobjattr=nousrattrconf" assumes OBJATTRHLR2:"objattr_resrcattr noobjattr=noresrcattr" assumes OBJATTRHLR3:"objattr_owners(obj_attr conf attr)=conf" assumes OBJATTRHLR4:"objattr_resrcattr(obj_attr conf attr)=attr" assumes OBJATTRHLR5:"\<exists>conf attr. x=obj_attr conf attr\<or>x=noobjattr" print_locale! ObjAttr locale InfoAttr=ResrcAttr nogid valid_gid noiid valid_iid trusted untrusted is_trusted device normal is_normal data func is_data noresrcattr resrc_attr resrcattr_presrcid resrcattr_infoid resrcattr_trustlevel resrcattr_presrctype resrcattr_infotype + UsrAttrConf nouid valid_uid nousrattr usr_attr usrattr_id nousrattrconf usrattr_conf is_usrattrconf find_usrid delete_usrattr get_usrattr valid_usrattrconf for nogid::"'gid" and valid_gid::"'gid\<Rightarrow>bool" and noiid::"'iid" and valid_iid::"'iid\<Rightarrow>bool" and trusted::"'trustlevel" and untrusted::"'trustlevel" and is_trusted::"'trustlevel\<Rightarrow>bool" and device::"'presrctype" and normal::"'presrctype" and is_normal::"'presrctype\<Rightarrow>bool" and data::"'infotype" and func::"'infotype" and is_data::"'infotype\<Rightarrow>bool" and noresrcattr::'resrcattr and resrc_attr::"'gid\<Rightarrow>'iid\<Rightarrow>'trustlevel\<Rightarrow>'presrctype\<Rightarrow>'infotype\<Rightarrow>'resrcattr" and resrcattr_presrcid::"'resrcattr\<Rightarrow>'gid" and resrcattr_infoid::"'resrcattr\<Rightarrow>'iid" and resrcattr_trustlevel::"'resrcattr\<Rightarrow>'trustlevel" and resrcattr_presrctype::"'resrcattr\<Rightarrow>'presrctype" and resrcattr_infotype::"'resrcattr\<Rightarrow>'infotype" and nouid::"'uid" and valid_uid::"'uid\<Rightarrow>bool" and nousrattr::'usrattr and usr_attr::"'uid\<Rightarrow>'usrattr" and usrattr_id::"'usrattr\<Rightarrow>'uid" and nousrattrconf::"'usrattrconf" and usrattr_conf::"'usrattrconf\<Rightarrow>'usrattr\<Rightarrow>'usrattrconf" and is_usrattrconf::"'usrattrconf\<Rightarrow>bool" and find_usrid::"'usrattrconf\<Rightarrow>'usrattr\<Rightarrow>bool" and delete_usrattr::"'usrattrconf\<Rightarrow>'usrattr\<Rightarrow>'usrattrconf" and get_usrattr::"'usrattrconf\<Rightarrow>'uid\<Rightarrow>'usrattr" and valid_usrattrconf::"'usrattrconf\<Rightarrow>bool" + fixes noinfoattr::'infoattr and info_attr::"'usrattrconf\<Rightarrow>'resrcattr\<Rightarrow>'infoattr" and infoattr_owners::"'infoattr\<Rightarrow>'usrattrconf" and infoattr_resrcattr::"'infoattr\<Rightarrow>'resrcattr" assumes INFOATTRHLR1:"infoattr_owners noinfoattr=nousrattrconf" assumes INFOATTRHLR2:"infoattr_resrcattr noinfoattr=noresrcattr" assumes INFOATTRHLR3:"infoattr_owners(info_attr conf attr)=conf" assumes INFOATTRHLR4:"infoattr_resrcattr(info_attr conf attr)=attr" assumes INFOATTRHLR5:"\<exists>conf attr. x=info_attr conf attr\<or>x=noinfoattr" print_locale! InfoAttr end