UNPKG

vulcan

Version:

A resolution-based propositional logic tool

54 lines (34 loc) 1.04 kB
var vulcanApp = angular.module('vulcanApp', [ 'vulcanServices', 'vulcanControllers' ]); var vulcanServices = angular.module('vulcanServices', []); vulcanServices.factory("vulcan", [function () { var service = {}; var vulcan = require("vulcan"); service.prove = function (kb, q) { return vulcan.prove(kb, q); }; service.clean = function(str) { return vulcan.addParens(str); }; return service; }]); var vulcanControllers = angular.module('vulcanControllers', []); vulcanControllers .controller('vulcanDemoCtrl', ['$scope', 'vulcan', function($scope, vulcan) { $scope.rules = ["A -> B", "A"]; $scope.query = "B"; $scope.proof = ""; $scope.addRule = function() { $scope.rules.push(vulcan.clean($scope.ruleInput)); }; $scope.removeRule = function(idx) { $scope.rules.splice(idx, 1); }; $scope.prove = function() { $scope.proof = vulcan.prove($scope.rules, $scope.query); }; }]);