// PG_Instance
game-specific Instance
// PG_Solution
game-specific Solution
// PG_Claim
game-specific Claim
// Protocol
// name
StandardPositive
// the names used in the protocol 

protocol StandardPositive
variables
declare PG_Instance i
declare PG_Solution s
step st1 Bob i
step st2 Alice s from i
predicate i s {{ Java }}

protocol StandardPositive2 // for HSR
variables 
declare 
PG_Instance pi 
declare PG_Solution s
step st1 Bob pi 
step st2 Alice s from pi
predicate pi s {{ Java }}

protocol SecretNegative // in MAX-CSP competition
variables 
declare PG_Instance pi 
declare PG_Solution sA
declare PG_Solution sB
step st1 Alice pi secret until st2 sA
step st2 Bob sB from pi
predicate pi sA sB {{ Java }}

protocol Renaissance // Tartaglia
variables 
declare iA PG_Instance 
declare iB PG_Instance 
declare siA PG_Solution 
declare siB PG_Solution
step st1 Alice secret until st2 iA
step st2 Bob   secret until st2 iB
step st3 Alice secret until st4 siB from iB
step st4 Bob   siA from iA
predicate iA iB siA siB {{ Java }}

//playground
//game-specific Claim 
// 

playground

// domain
// in pg.cd: grammar for PG_Instance
// in pg.cd: grammar for PG_Solution

protocol StandardPositive1
variables
declare PG_Instance i
declare PG_Solution s
step st1 Bob i
step st2 Alice s from i
predicate i s {{ Java }}