vulcan
Version:
A resolution-based propositional logic tool
54 lines (34 loc) • 1.04 kB
JavaScript
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);
};
}]);