Professional Documents
Culture Documents
Initialization:
InitCompany
ΔCompany
companyKnown = ∅
State Schema:
Company
companyKnown : ℙCNAME
companyDetail: CNAME ⇸COMPANYDETAILS
companyKnown = dom companyDetail
Add Company:
AddCompany
ΔCompany
name? : CNAME
details? : COMPANYDETAILS
name? ∉ companyKnow
companyKnown′ = companyKnow ⋃ {name?}
companyDetail′ = companyDetail ⋃ (name?, details?)
companyDetail′ = companyDetail ⋃ {name? ↦ details?}
ExistCompany
Ξ Company
name? : CNAME
details? : COMPANYDETAILS
message? : RESULT
name? ∈ companyKnow
companyKnown′ = companyKnow
companyDetail′ = companyDetail
message? = Already Exist
RAddCompany ≙ AddCompany ∨ ExistCompany
Way2
RAddCompany
ΔCompany
name? : CNAME
details? : COMPANYDETAILS
message? : RESULT
( name? ∉ companyKnow ∧ companyKnown′ = companyKnow ⋃ {name?} ∧
companyDetail′ = companyDetail ⋃ (name?, details?) ∧ message? = Added )
∨
( name? ∉ companyKnow ∧ message? = Already Exist )
State schema:
Company
companyKnown : ℙCNAME
companyDetail : CNAME ⇸COMPANYDETAILS
companyKnown = dom companyDetail
∀c1,c2:CNAME | c1∈companyKnown ∧ c2 ∈ companyKnown ⦁ c1 ≠c2
∀c1,c2 ∈companyKnown | c1 ≠c2