This example demonstrates intersections. In order to buy rockets from Acme, you must be BOTH a preferred customer AND a WarnerBros character. In this example, the following query will be successful: Acme.buy_rockets <-?- Coyote The following query will fail (because Batman does not have the attribute WarnerBros.character): Acme.buy_rockets <-?- Batman Acme.buy_rockets <- Acme.preferred_customer & WarnerBros.character Acme.preferred_customer <- Coyote Acme.preferred_customer <- Batman WarnerBrothers.character <- Coyote creddy --generate --cn Acme creddy --generate --cn WarnerBros creddy --generate --cn Coyote creddy --generate --cn Batman creddy --attribute \ --issuer Acme_ID.pem --key Acme_private.pem --role buy_rockets \ --subject-cert Acme_ID.pem --subject-role preferred_customer \ --subject-cert WarnerBros_ID.pem --subject-role character \ --out Acme_buy_rockets__Acme_preferred_customer_and_WarnerBros_character_attr.der creddy --attribute \ --issuer Acme_ID.pem --key Acme_private.pem --role preferred_customer \ --subject-cert Coyote_ID.pem \ --out Acme_preferred_customer__Coyote_attr.der creddy --attribute \ --issuer Acme_ID.pem --key Acme_private.pem --role preferred_customer \ --subject-cert Batman_ID.pem \ --out Acme_preferred_customer__Batman_attr.der creddy --attribute \ --issuer WarnerBros_ID.pem --key WarnerBros_private.pem --role character \ --subject-cert Coyote_ID.pem \ --out WarnerBros_character__Coyote_attr.der