Suppose we have a set of permissible skills:
(= (permissible economics) True)
(= (permissible capital-markets) True)
(= (permissible tokenomics) True)
(= (permissible credit-risk) True)
(= (permissible portfolio-construction) True)
And suppose we have some agents that have some of the skills:
(= (economics m1) True)
(= (capital-markets m2) True)
(= (tokenomics m3) True)
(= (credit-risk m4) True)
(= (portfolio-construction m5) True)
(= (tokenomics m1) True)
To do their work agents should have at least one skill. We have a predicate to check permissibility of skill e for agent m:
(= (permissible (experience $e $m))
(and (== ($e $m) True)
(== (permissible $e) True)))
Since we need only one permissible skill for an agent to give him a further task, any other skill possessed by the agent becomes optonal:
(= (optional (experience $e $m))
(and (permissible (experience $e $m))
(omissible (experience $e $m))))
The question is
how to implement omissible function in the most MeTTa-like way to automatically check if an agent has 2 or more skills and mark all of them but one (which one?) as omissible?
Suppose we have a set of permissible skills:
And suppose we have some agents that have some of the skills:
To do their work agents should have at least one skill. We have a predicate to check permissibility of skill e for agent m:
Since we need only one permissible skill for an agent to give him a further task, any other skill possessed by the agent becomes optonal:
The question is
how to implement
omissiblefunction in the most MeTTa-like way to automatically check if an agent has 2 or more skills and mark all of them but one (which one?) as omissible?