// Test basic operations of the logic-thinking MCP server
import { LogicManager } from '../dist/logicManager.js';
const manager = new LogicManager();
// Test syllogistic logic
console.log('\n=== Testing Syllogistic Logic ===');
// Test validation
const syllogisticValidation = manager.process('syllogistic', 'validate', 'All men are mortal.\nSocrates is a man.\nTherefore, Socrates is mortal.');
console.log('Syllogistic Validation:', JSON.stringify(syllogisticValidation, null, 2));
// Test formalization
const syllogisticFormalization = manager.process('syllogistic', 'formalize', 'All men are mortal.\nSocrates is a man.\nTherefore, Socrates is mortal.');
console.log('Syllogistic Formalization:', JSON.stringify(syllogisticFormalization, null, 2));
// Test visualization
const syllogisticVisualization = manager.process('syllogistic', 'visualize', 'All men are mortal.\nSocrates is a man.\nTherefore, Socrates is mortal.');
console.log('Syllogistic Visualization:', JSON.stringify(syllogisticVisualization, null, 2));
// Test propositional logic
console.log('\n=== Testing Propositional Logic ===');
// Test validation
const propValidation = manager.process('propositional', 'validate', 'P → Q, P ∴ Q');
console.log('Propositional Validation:', JSON.stringify(propValidation, null, 2));
// Test formalization
const propFormalization = manager.process('propositional', 'formalize', 'P implies Q');
console.log('Propositional Formalization:', JSON.stringify(propFormalization, null, 2));
// Test visualization
const propVisualization = manager.process('propositional', 'visualize', 'P ∧ Q');
console.log('Propositional Visualization:', JSON.stringify(propVisualization, null, 2));
// Test predicate logic
console.log('\n=== Testing Predicate Logic ===');
// Test validation
const predValidation = manager.process('predicate', 'validate', '∀x(P(x) → Q(x))');
console.log('Predicate Validation:', JSON.stringify(predValidation, null, 2));
// Test formalization
const predFormalization = manager.process('predicate', 'formalize', 'For all x, if P(x) then Q(x)');
console.log('Predicate Formalization:', JSON.stringify(predFormalization, null, 2));
// Test auto-detection
console.log('\n=== Testing Auto-Detection ===');
const autoDetect1 = manager.process('auto', 'validate', 'All cats are mammals. Felix is a cat. Therefore, Felix is a mammal.');
console.log('Auto-detect (syllogistic):', JSON.stringify(autoDetect1, null, 2));
const autoDetect2 = manager.process('auto', 'validate', 'P ∧ Q → R');
console.log('Auto-detect (propositional):', JSON.stringify(autoDetect2, null, 2));
const autoDetect3 = manager.process('auto', 'validate', '∃x(P(x) ∧ Q(x))');
console.log('Auto-detect (predicate):', JSON.stringify(autoDetect3, null, 2));