haskell-logic-classes (0.44) unstable; urgency=low * Major re-organization of modules. -- David Fox Sun, 09 Oct 2011 17:31:36 -0700 haskell-logic (0.43) unstable; urgency=low * Move Propositional modules into Data.Logic.Propositional. * Add a Native instance for PropositionalFormula. * Add a Normal in the Propositional directory * Add clauseNormalForm and disjunctiveNormalForm for Propositional * Add clauseNormalFormAlt which is an alternate implementation of clauseNormalForm, I'm not sure if it gives results that are actually different or just look different, but it makes cabal-debian work. -- David Fox Thu, 29 Sep 2011 05:56:41 -0700 haskell-logic (0.42) unstable; urgency=low * Derive the show instance for ImplicativeNormalForm rather than making a custom one. -- David Fox Fri, 23 Sep 2011 16:43:09 -0700 haskell-logic (0.41) unstable; urgency=low * Add field accessors to Proof type. * Finish show implementation for Proof -- David Fox Mon, 08 Aug 2011 08:32:56 -0700 haskell-logic (0.40) unstable; urgency=low * Remove NoProof constructor from Proof type - we only need this in the augumented Proof' type in the ontology package. * Add prettyProof and prettyINF to Data.Logic.Pretty. -- David Fox Sat, 06 Aug 2011 06:28:20 -0700 haskell-logic (0.39) unstable; urgency=low * Move Proof type from ontology to logic. -- David Fox Thu, 04 Aug 2011 07:13:00 -0700 haskell-logic (0.38) unstable; urgency=low * Remove the triple of function parameters for converting formulas to literals, these were all invariably id. -- David Fox Tue, 02 Aug 2011 07:34:54 -0700 haskell-logic (0.37) unstable; urgency=low * Add an Ord instance to ProofResult so we can insert proofs into sets. -- David Fox Mon, 01 Aug 2011 09:51:59 -0700 haskell-logic (0.36) unstable; urgency=low * Move module Test.Types to Data.Logic.Test and export so that clients of this package can use the definitions to create test cases. -- David Fox Sun, 24 Jul 2011 10:45:50 -0700 haskell-logic (0.35) unstable; urgency=low * Remove the Pretty class. Pretty printing of a type is application specific, so the type class doesn't make sense. Instead add function parameters to prettyForm et. al. to convert the primitive types to Doc. -- David Fox Fri, 22 Jul 2011 09:01:45 -0700 haskell-logic (0.34) unstable; urgency=low * Allow .=. literals in the Native instance. This required a fix to the resolution prover so that it never did substitutions based on an equality predicate which had the same lhs and rhs. -- David Fox Thu, 21 Jul 2011 22:30:14 -0700 haskell-logic (0.33) unstable; urgency=low * Move the modules into the Data heirarchy. -- David Fox Sun, 17 Jul 2011 07:29:49 -0700 haskell-logic (0.32) unstable; urgency=low * Add a Pred class to describe predicate application * Split pretty printing and show into a module. -- David Fox Sat, 16 Jul 2011 15:24:43 -0700 haskell-logic (0.31) unstable; urgency=low * Create a second instance of FirstOrderFormula in the module Logic.Instances.Public, with Eq and Ord instances that use the normal form to detect formulas that are equivalent under identity transforms. * Export the Bijection class which converts between the public and internal formula types. -- David Fox Wed, 06 Jul 2011 12:46:45 -0700 haskell-logic (0.30) unstable; urgency=low * Simplify the parameters of the ImplicativeNormalForm type in the native instance, move it to Logic.Normal and eliminate the ImplicativeNormalFormula class. * Don't require all formula and term types to be instances of Ord, we can just specify it in the functions that need it. -- David Fox Sat, 02 Jul 2011 09:20:57 -0700 haskell-logic (0.29) unstable; urgency=low * Ported to safe-copy -- Jeremy Shaw Fri, 17 Jun 2011 11:18:32 -0500 haskell-logic (0.28) unstable; urgency=low * Switch the order of some constructors so that defaultValue of Formula gives us a simpler value. -- David Fox Sun, 01 May 2011 11:36:12 -0700 haskell-logic (0.27) unstable; urgency=low * Moved JSON instances back to seereason. -- David Fox Wed, 13 Apr 2011 20:53:42 -0700 haskell-logic (0.26) unstable; urgency=low * Add JSON instances. -- David Fox Mon, 04 Apr 2011 07:21:25 -0600 haskell-logic (0.25) unstable; urgency=low * Disable the (unused) Logic-TPTP instance, it is blocking the ghc7 build. -- David Fox Sat, 30 Oct 2010 10:35:35 -0700 haskell-logic (0.24) unstable; urgency=low * Add a missing paren in the pretty printing and show instances. -- David Fox Wed, 20 Oct 2010 21:17:34 -0700 haskell-logic (0.23) unstable; urgency=low * Add a "one" method to the Variable class which returns any instance of the class, preferably some general purpose variable name like "x". -- David Fox Wed, 06 Oct 2010 12:28:38 -0700 haskell-logic (0.22) unstable; urgency=low * Instead of making variables instances of Enum and having non-working fromEnum and toEnum methods, create a class Var with only a "next" method. * Add an Arity class and make it a super class of the predicate types. * Replace the pApp method with pApp0, pApp1, pApp2 ... pApp7, add a pApp function that checks the predicate arity and dispatches to the correct method, or throws an error. * Add withUnivQuant to look at the list of universally quantified variables wrapped around a formula. -- David Fox Fri, 03 Sep 2010 12:36:25 -0700 haskell-logic (0.21.2) unstable; urgency=low * Fix a bug in fromFirstOrder * Add Logic.Set.cartesianProduct, use to implement allpairs * Add purednf and implement purecnf in terms of purednf. -- David Fox Mon, 30 Aug 2010 15:44:10 -0700 haskell-logic (0.21) unstable; urgency=low * Rename the *Logic classes -> *Formula * Split a NormalFormula class out of FirstOrderFormula, use it as the result of the clauseNormalForm and implicativeNormalForm functions. -- David Fox Sun, 29 Aug 2010 14:27:34 -0700 haskell-logic (0.20) unstable; urgency=low * Reduce the number of arguments to foldF to three, one for quantifiers, one for combining formulas, one for predicates. * Add a Predicate type for a temporary representation of a predicate and its arguments, this is the type now passed to foldF. -- David Fox Mon, 23 Aug 2010 22:14:22 -0700 haskell-logic (0.19) unstable; urgency=low * Extensive work on polymorphic version of Resolution prover and test cases. * Emergency check-in due to dying disk. * Implement skolemization and cnf algorithms from Harrison book. -- David Fox Tue, 17 Aug 2010 14:55:39 -0700 haskell-logic (0.18) unstable; urgency=low * Remove the Predicate and Proposition synonyms for Formula, they seem likely to confuse. -- David Fox Wed, 28 Jul 2010 09:30:41 -0700 haskell-logic (0.17) unstable; urgency=low * Make all the normal form code polymorphic. -- David Fox Mon, 26 Jul 2010 08:05:24 -0700 haskell-logic (0.16) unstable; urgency=low * Move important super classes from the individual functions to the type class FirstOrderLogic: Eq p, Boolean p, Eq f, Skolem f. * Implement a default method for .!=. * Remove two "quick simplifications" from Logic.NormalForm.distributeDisjuncts because they assume Eq formula, which isn't really well defined. Can these make any difference anyway once we reach CNF? * Rename convertPred -> convertFOF to match class name change. -- David Fox Sat, 10 Jul 2010 22:25:18 -0700 haskell-logic (0.15) unstable; urgency=low * Rename PredicateLogic -> FirstOrderLogic * Add a Logic.Prover module with a function to load a knowledgebase. -- David Fox Thu, 08 Jul 2010 16:00:35 -0700 haskell-logic (0.14) unstable; urgency=low * Fix skolem handling. Use a Skolem class to convert between Ints and skolem functions, and a HasSkolem class to obtain numbers for skolem functions from a monad. * Integrate Chiou Prover package into this one. We need to mix pieces of the two. -- David Fox Thu, 08 Jul 2010 12:47:23 -0700 haskell-logic (0.13) unstable; urgency=low * Implement polymorphic version of implicativeNormalForm. -- David Fox Tue, 06 Jul 2010 22:39:55 -0700 haskell-logic (0.12) unstable; urgency=low * Parameterize the variable type v in the PredicateLogic class and the Formula type in the Parameterized instance. * Reduce the number of functional dependencies in the PredicateLogic class, this allows us to create two instances that use the same types for any of v, p, or f. -- David Fox Tue, 06 Jul 2010 17:52:37 -0700 haskell-logic (0.11) unstable; urgency=low * Modify the Skolem class so it uses a monad to generate new names for skolem functions. This corresponds to the technique used by what is now our only working example of a first order logic theorem prover, the new Chiou package. -- David Fox Mon, 05 Jul 2010 12:46:08 -0700 haskell-logic (0.10) unstable; urgency=low * Add an instance for the Charles Chiou first order logic prover. -- David Fox Mon, 05 Jul 2010 09:03:04 -0700 haskell-logic (0.9) unstable; urgency=low * Add a Logic.Satisfiable module, containing functions theorem, inconsistant, and invalid. -- David Fox Fri, 02 Jul 2010 11:34:38 -0700 haskell-logic (0.8) unstable; urgency=low * Modify skolemize so it leaves the universal quantifiers on its result, and add a function removeUniversal to remove them. We envision having a use for those quantifiers some time soon. * Use standard names for the various normal forms, move Logic.CNF to Logic.NormalForm. -- David Fox Wed, 30 Jun 2010 18:28:00 -0700 haskell-logic (0.7) unstable; urgency=low * Change the order of substitution function arguments from (new, old) to (old, new), to match the notation generally used in textbooks. -- David Fox Wed, 30 Jun 2010 08:58:54 -0700 haskell-logic (0.6.1) unstable; urgency=low * Fix a bug in substituteTerm and re-implement skolemize. -- David Fox Wed, 30 Jun 2010 06:43:50 -0700 haskell-logic (0.6) unstable; urgency=low * Split a Logic class out of PropositionalLogic and make it the ancestor of PropositionalLogic and PredicateLogic. This way we can eliminate the horrible atom parameter from the PredicateLogic type. * Add a Skolem v f class to encapsulate conversion of variables to skolem functions. -- David Fox Mon, 28 Jun 2010 06:34:43 -0700 haskell-logic (0.5.1) unstable; urgency=low * Rename variables in the moveQuantifiersOut operation of cnf to avoid collisions later. * Add an Enum instance for the V type so we can find fresh variables, and new functions for finding the quantified variables and all the variables in a formula. -- David Fox Sun, 27 Jun 2010 07:00:49 -0700 haskell-logic (0.5) unstable; urgency=low * Export distributeDisjuncts -- David Fox Fri, 25 Jun 2010 14:13:44 -0700 haskell-logic (0.4) unstable; urgency=low * Add documentation * Remove the normalize function * Remove the AtomicWord type (use the equivalent in Logic-TPTP.) * Make some derived methods into functions. -- David Fox Fri, 25 Jun 2010 09:32:22 -0700 haskell-logic (0.3) unstable; urgency=low * Eliminate the use of the unicode characters for for_all and exists, they make the amd64 version of haddock crash. -- David Fox Thu, 24 Jun 2010 13:46:42 -0700 haskell-logic (0.2) unstable; urgency=low * Add an Ord instance to AtomicFormula to satisfy the requirements of the satisfiable function in PropLogic. -- David Fox Thu, 24 Jun 2010 10:08:42 -0700 haskell-logic (0.1) unstable; urgency=low * Debianization generated by cabal-debian -- David Fox Wed, 23 Jun 2010 14:19:18 -0700