| Copyright | (c) Levent Erkok |
|---|---|
| License | BSD3 |
| Maintainer | erkokl@gmail.com |
| Stability | experimental |
| Safe Haskell | None |
| Language | Haskell2010 |
Documentation.SBV.Examples.Puzzles.Fish
Description
Solves the following logic puzzle:
- The Briton lives in the red house.
- The Swede keeps dogs as pets.
- The Dane drinks tea.
- The green house is left to the white house.
- The owner of the green house drinks coffee.
- The person who plays football rears birds.
- The owner of the yellow house plays baseball.
- The man living in the center house drinks milk.
- The Norwegian lives in the first house.
- The man who plays volleyball lives next to the one who keeps cats.
- The man who keeps the horse lives next to the one who plays baseball.
- The owner who plays tennis drinks beer.
- The German plays hockey.
- The Norwegian lives next to the blue house.
- The man who plays volleyball has a neighbor who drinks water.
Who owns the fish?
Documentation
Colors of houses
Instances
data Nationality #
Nationalities of the occupants
Instances
Beverage choices
Instances
Pets they keep
Instances
| Eq Pet # | |
| Data Pet # | |
Defined in Documentation.SBV.Examples.Puzzles.Fish Methods gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Pet -> c Pet # gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Pet # dataTypeOf :: Pet -> DataType # dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Pet) # dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Pet) # gmapT :: (forall b. Data b => b -> b) -> Pet -> Pet # gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Pet -> r # gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Pet -> r # gmapQ :: (forall d. Data d => d -> u) -> Pet -> [u] # gmapQi :: Int -> (forall d. Data d => d -> u) -> Pet -> u # gmapM :: Monad m => (forall d. Data d => d -> m d) -> Pet -> m Pet # gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Pet -> m Pet # gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Pet -> m Pet # | |
| Ord Pet # | |
| Read Pet # | |
| Show Pet # | |
| HasKind Pet # | |
Defined in Documentation.SBV.Examples.Puzzles.Fish Methods isUninterpreted :: Pet -> Bool # | |
| SymWord Pet # | |
Defined in Documentation.SBV.Examples.Puzzles.Fish Methods forall :: String -> Symbolic (SBV Pet) # forall_ :: Symbolic (SBV Pet) # mkForallVars :: Int -> Symbolic [SBV Pet] # exists :: String -> Symbolic (SBV Pet) # exists_ :: Symbolic (SBV Pet) # mkExistVars :: Int -> Symbolic [SBV Pet] # free :: String -> Symbolic (SBV Pet) # mkFreeVars :: Int -> Symbolic [SBV Pet] # symbolic :: String -> Symbolic (SBV Pet) # symbolics :: [String] -> Symbolic [SBV Pet] # unliteral :: SBV Pet -> Maybe Pet # isConcrete :: SBV Pet -> Bool # isSymbolic :: SBV Pet -> Bool # isConcretely :: SBV Pet -> (Pet -> Bool) -> Bool # mkSymWord :: Maybe Quantifier -> Maybe String -> Symbolic (SBV Pet) # | |
| SatModel Pet # | Make |
| SMTValue Pet # | |
Defined in Documentation.SBV.Examples.Puzzles.Fish Methods sexprToVal :: SExpr -> Maybe Pet # | |
Sports they engage in
Constructors
| Football | |
| Baseball | |
| Volleyball | |
| Hockey | |
| Tennis |