/**
* Copyright 2004-2016 Riccardo Solmi. All rights reserved.
* This file is part of the Whole Platform.
*
* The Whole Platform is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* The Whole Platform is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with the Whole Platform. If not, see <http://www.gnu.org/licenses/>.
*/
package org.whole.lang.models.codebase;
import org.whole.lang.builders.IBuilderOperation;
import org.whole.lang.templates.AbstractTemplateFactory;
public class FirstOrderLogicModel extends AbstractTemplateFactory<org.whole.lang.models.model.Model> {
public void apply(IBuilderOperation op) {
org.whole.lang.models.builders.IModelsBuilder b0 = (org.whole.lang.models.builders.IModelsBuilder) op.wGetBuilder(org.whole.lang.models.reflect.ModelsLanguageKit.URI);
b0.Model_();
b0.SimpleName("FirstOrderLogic");
b0.TypeRelations();
b0.ModelDeclarations_(44);
b0.SimpleEntity_();
b0.EntityModifiers();
b0.SimpleName("Theory");
b0.Types();
b0.Features_(4);
b0.Feature_();
b0.FeatureModifiers();
b0.SimpleName("Name");
b0.SimpleName("name");
b0._Feature();
b0.Feature_();
b0.FeatureModifiers_(1);
b0.FeatureModifier("optional");
b0._FeatureModifiers();
b0.SimpleName("ImportTheories");
b0.SimpleName("imports");
b0._Feature();
b0.Feature_();
b0.FeatureModifiers();
b0.SimpleName("Declarations");
b0.SimpleName("declarations");
b0._Feature();
b0.Feature_();
b0.FeatureModifiers();
b0.SimpleName("Assertions");
b0.SimpleName("assertions");
b0._Feature();
b0._Features();
b0._SimpleEntity();
b0.CompositeEntity_();
b0.EntityModifiers();
b0.SimpleName("ImportTheories");
b0.Types();
b0.ComponentModifiers_(1);
b0.ComponentModifier("ordered");
b0._ComponentModifiers();
b0.SimpleName("ImportDeclaration");
b0._CompositeEntity();
b0.SimpleEntity_();
b0.EntityModifiers();
b0.SimpleName("ImportDeclaration");
b0.Types();
b0.Features_(2);
b0.Feature_();
b0.FeatureModifiers();
b0.SimpleName("TheoryName");
b0.SimpleName("language");
b0._Feature();
b0.Feature_();
b0.FeatureModifiers_(1);
b0.FeatureModifier("optional");
b0._FeatureModifiers();
b0.SimpleName("Name");
b0.SimpleName("alias");
b0._Feature();
b0._Features();
b0._SimpleEntity();
b0.CompositeEntity_();
b0.EntityModifiers();
b0.SimpleName("Declarations");
b0.Types();
b0.ComponentModifiers_(1);
b0.ComponentModifier("ordered");
b0._ComponentModifiers();
b0.SimpleName("Declaration");
b0._CompositeEntity();
b0.CompositeEntity_();
b0.EntityModifiers();
b0.SimpleName("Assertions");
b0.Types();
b0.ComponentModifiers_(1);
b0.ComponentModifier("ordered");
b0._ComponentModifiers();
b0.SimpleName("Assertion");
b0._CompositeEntity();
b0.SimpleEntity_();
b0.EntityModifiers();
b0.SimpleName("EntityName");
b0.Types_(1);
b0.SimpleName("Path");
b0._Types();
b0.Features_(2);
b0.Feature_();
b0.FeatureModifiers();
b0.SimpleName("LanguageName");
b0.SimpleName("language");
b0._Feature();
b0.Feature_();
b0.FeatureModifiers();
b0.SimpleName("Name");
b0.SimpleName("entityName");
b0._Feature();
b0._Features();
b0._SimpleEntity();
b0.SimpleEntity_();
b0.EntityModifiers();
b0.SimpleName("FeatureName");
b0.Types_(1);
b0.SimpleName("Path");
b0._Types();
b0.Features_(3);
b0.Feature_();
b0.FeatureModifiers();
b0.SimpleName("LanguageName");
b0.SimpleName("language");
b0._Feature();
b0.Feature_();
b0.FeatureModifiers();
b0.SimpleName("Name");
b0.SimpleName("entityName");
b0._Feature();
b0.Feature_();
b0.FeatureModifiers();
b0.SimpleName("FeaturePath");
b0.SimpleName("featurePath");
b0._Feature();
b0._Features();
b0._SimpleEntity();
b0.DataEntity_();
b0.EntityModifiers();
b0.SimpleName("LanguageName");
b0.Types();
b0.DataType("String");
b0._DataEntity();
b0.DataEntity_();
b0.EntityModifiers();
b0.SimpleName("SimpleFeature");
b0.Types_(1);
b0.SimpleName("FeaturePath");
b0._Types();
b0.DataType("String");
b0._DataEntity();
b0.SimpleEntity_();
b0.EntityModifiers();
b0.SimpleName("QualifiedFeature");
b0.Types_(1);
b0.SimpleName("FeaturePath");
b0._Types();
b0.Features_(2);
b0.Feature_();
b0.FeatureModifiers();
b0.SimpleName("SimpleFeature");
b0.SimpleName("qualifier");
b0._Feature();
b0.Feature_();
b0.FeatureModifiers();
b0.SimpleName("FeaturePath");
b0.SimpleName("feature");
b0._Feature();
b0._Features();
b0._SimpleEntity();
b0.SimpleEntity_();
b0.EntityModifiers();
b0.SimpleName("SubtypeDeclaration");
b0.Types_(1);
b0.SimpleName("Declaration");
b0._Types();
b0.Features_(2);
b0.Feature_();
b0.FeatureModifiers();
b0.SimpleName("Name");
b0.SimpleName("subSort");
b0._Feature();
b0.Feature_();
b0.FeatureModifiers();
b0.SimpleName("Name");
b0.SimpleName("superSort");
b0._Feature();
b0._Features();
b0._SimpleEntity();
b0.SimpleEntity_();
b0.EntityModifiers();
b0.SimpleName("NameDeclaration");
b0.Types_(1);
b0.SimpleName("Declaration");
b0._Types();
b0.Features_(3);
b0.Feature_();
b0.FeatureModifiers();
b0.SimpleName("Name");
b0.SimpleName("name");
b0._Feature();
b0.Feature_();
b0.FeatureModifiers();
b0.SimpleName("Type");
b0.SimpleName("type");
b0._Feature();
b0.Feature_();
b0.FeatureModifiers();
b0.SimpleName("Path");
b0.SimpleName("modelBinding");
b0._Feature();
b0._Features();
b0._SimpleEntity();
b0.SimpleEntity_();
b0.EntityModifiers();
b0.SimpleName("SortType");
b0.Types_(1);
b0.SimpleName("Type");
b0._Types();
b0.Features();
b0._SimpleEntity();
b0.SimpleEntity_();
b0.EntityModifiers();
b0.SimpleName("VariableType");
b0.Types_(1);
b0.SimpleName("Type");
b0._Types();
b0.Features_(1);
b0.Feature_();
b0.FeatureModifiers();
b0.SimpleName("Name");
b0.SimpleName("sort");
b0._Feature();
b0._Features();
b0._SimpleEntity();
b0.SimpleEntity_();
b0.EntityModifiers();
b0.SimpleName("FunctionType");
b0.Types_(1);
b0.SimpleName("Type");
b0._Types();
b0.Features_(2);
b0.Feature_();
b0.FeatureModifiers_(1);
b0.FeatureModifier("optional");
b0._FeatureModifiers();
b0.SimpleName("Parameters");
b0.SimpleName("parameters");
b0._Feature();
b0.Feature_();
b0.FeatureModifiers();
b0.SimpleName("Name");
b0.SimpleName("sort");
b0._Feature();
b0._Features();
b0._SimpleEntity();
b0.SimpleEntity_();
b0.EntityModifiers();
b0.SimpleName("PredicateType");
b0.Types_(1);
b0.SimpleName("Type");
b0._Types();
b0.Features_(1);
b0.Feature_();
b0.FeatureModifiers_(1);
b0.FeatureModifier("optional");
b0._FeatureModifiers();
b0.SimpleName("Parameters");
b0.SimpleName("parameters");
b0._Feature();
b0._Features();
b0._SimpleEntity();
b0.CompositeEntity_();
b0.EntityModifiers();
b0.SimpleName("Parameters");
b0.Types();
b0.ComponentModifiers_(1);
b0.ComponentModifier("ordered");
b0._ComponentModifiers();
b0.SimpleName("VariableDeclaration");
b0._CompositeEntity();
b0.SimpleEntity_();
b0.EntityModifiers();
b0.SimpleName("VariableDeclaration");
b0.Types();
b0.Features_(2);
b0.Feature_();
b0.FeatureModifiers();
b0.SimpleName("Name");
b0.SimpleName("name");
b0._Feature();
b0.Feature_();
b0.FeatureModifiers_(1);
b0.FeatureModifier("optional");
b0._FeatureModifiers();
b0.SimpleName("Name");
b0.SimpleName("sort");
b0._Feature();
b0._Features();
b0._SimpleEntity();
b0.SimpleEntity_();
b0.EntityModifiers();
b0.SimpleName("PredicateDefinition");
b0.Types_(1);
b0.SimpleName("Assertion");
b0._Types();
b0.Features_(3);
b0.Feature_();
b0.FeatureModifiers();
b0.SimpleName("SimplePredicate");
b0.SimpleName("predicate");
b0._Feature();
b0.Feature_();
b0.FeatureModifiers_(1);
b0.FeatureModifier("optional");
b0._FeatureModifiers();
b0.SimpleName("Parameters");
b0.SimpleName("parameters");
b0._Feature();
b0.Feature_();
b0.FeatureModifiers();
b0.SimpleName("Formula");
b0.SimpleName("statement");
b0._Feature();
b0._Features();
b0._SimpleEntity();
b0.SimpleEntity_();
b0.EntityModifiers();
b0.SimpleName("FunctionDefinition");
b0.Types_(1);
b0.SimpleName("Assertion");
b0._Types();
b0.Features_(3);
b0.Feature_();
b0.FeatureModifiers();
b0.SimpleName("SimpleFunction");
b0.SimpleName("function");
b0._Feature();
b0.Feature_();
b0.FeatureModifiers_(1);
b0.FeatureModifier("optional");
b0._FeatureModifiers();
b0.SimpleName("Parameters");
b0.SimpleName("parameters");
b0._Feature();
b0.Feature_();
b0.FeatureModifiers();
b0.SimpleName("Term");
b0.SimpleName("term");
b0._Feature();
b0._Features();
b0._SimpleEntity();
b0.SimpleEntity_();
b0.EntityModifiers();
b0.SimpleName("Axiom");
b0.Types_(1);
b0.SimpleName("Assertion");
b0._Types();
b0.Features_(2);
b0.Feature_();
b0.FeatureModifiers();
b0.SimpleName("Name");
b0.SimpleName("name");
b0._Feature();
b0.Feature_();
b0.FeatureModifiers();
b0.SimpleName("Formula");
b0.SimpleName("statement");
b0._Feature();
b0._Features();
b0._SimpleEntity();
b0.SimpleEntity_();
b0.EntityModifiers();
b0.SimpleName("Theorem");
b0.Types_(1);
b0.SimpleName("Assertion");
b0._Types();
b0.Features_(3);
b0.Feature_();
b0.FeatureModifiers();
b0.SimpleName("Name");
b0.SimpleName("name");
b0._Feature();
b0.Feature_();
b0.FeatureModifiers();
b0.SimpleName("Formula");
b0.SimpleName("statement");
b0._Feature();
b0.Feature_();
b0.FeatureModifiers();
b0.SimpleName("Formulae");
b0.SimpleName("proof");
b0._Feature();
b0._Features();
b0._SimpleEntity();
b0.CompositeEntity_();
b0.EntityModifiers();
b0.SimpleName("Formulae");
b0.Types();
b0.ComponentModifiers_(1);
b0.ComponentModifier("ordered");
b0._ComponentModifiers();
b0.SimpleName("Formula");
b0._CompositeEntity();
b0.SimpleEntity_();
b0.EntityModifiers();
b0.SimpleName("PredicateApplication");
b0.Types_(1);
b0.SimpleName("Formula");
b0._Types();
b0.Features_(2);
b0.Feature_();
b0.FeatureModifiers();
b0.SimpleName("Predicate");
b0.SimpleName("predicate");
b0._Feature();
b0.Feature_();
b0.FeatureModifiers();
b0.SimpleName("Arguments");
b0.SimpleName("arguments");
b0._Feature();
b0._Features();
b0._SimpleEntity();
b0.SimpleEntity_();
b0.EntityModifiers();
b0.SimpleName("EqualityPredicateApplication");
b0.Types_(1);
b0.SimpleName("Formula");
b0._Types();
b0.Features_(2);
b0.Feature_();
b0.FeatureModifiers();
b0.SimpleName("Term");
b0.SimpleName("leftTerm");
b0._Feature();
b0.Feature_();
b0.FeatureModifiers();
b0.SimpleName("Term");
b0.SimpleName("rightTerm");
b0._Feature();
b0._Features();
b0._SimpleEntity();
b0.SimpleEntity_();
b0.EntityModifiers();
b0.SimpleName("Implication");
b0.Types_(1);
b0.SimpleName("Formula");
b0._Types();
b0.Features_(2);
b0.Feature_();
b0.FeatureModifiers();
b0.SimpleName("Formula");
b0.SimpleName("antecedent");
b0._Feature();
b0.Feature_();
b0.FeatureModifiers();
b0.SimpleName("Formula");
b0.SimpleName("consequent");
b0._Feature();
b0._Features();
b0._SimpleEntity();
b0.SimpleEntity_();
b0.EntityModifiers();
b0.SimpleName("Coimplication");
b0.Types_(1);
b0.SimpleName("Formula");
b0._Types();
b0.Features_(2);
b0.Feature_();
b0.FeatureModifiers();
b0.SimpleName("Formula");
b0.SimpleName("leftFormula");
b0._Feature();
b0.Feature_();
b0.FeatureModifiers();
b0.SimpleName("Formula");
b0.SimpleName("rightFormula");
b0._Feature();
b0._Features();
b0._SimpleEntity();
b0.SimpleEntity_();
b0.EntityModifiers();
b0.SimpleName("Xor");
b0.Types_(1);
b0.SimpleName("Formula");
b0._Types();
b0.Features_(2);
b0.Feature_();
b0.FeatureModifiers();
b0.SimpleName("Formula");
b0.SimpleName("leftFormula");
b0._Feature();
b0.Feature_();
b0.FeatureModifiers();
b0.SimpleName("Formula");
b0.SimpleName("rightFormula");
b0._Feature();
b0._Features();
b0._SimpleEntity();
b0.SimpleEntity_();
b0.EntityModifiers();
b0.SimpleName("And");
b0.Types_(1);
b0.SimpleName("Formula");
b0._Types();
b0.Features_(2);
b0.Feature_();
b0.FeatureModifiers();
b0.SimpleName("Formula");
b0.SimpleName("leftFormula");
b0._Feature();
b0.Feature_();
b0.FeatureModifiers();
b0.SimpleName("Formula");
b0.SimpleName("rightFormula");
b0._Feature();
b0._Features();
b0._SimpleEntity();
b0.SimpleEntity_();
b0.EntityModifiers();
b0.SimpleName("Or");
b0.Types_(1);
b0.SimpleName("Formula");
b0._Types();
b0.Features_(2);
b0.Feature_();
b0.FeatureModifiers();
b0.SimpleName("Formula");
b0.SimpleName("leftFormula");
b0._Feature();
b0.Feature_();
b0.FeatureModifiers();
b0.SimpleName("Formula");
b0.SimpleName("rightFormula");
b0._Feature();
b0._Features();
b0._SimpleEntity();
b0.SimpleEntity_();
b0.EntityModifiers();
b0.SimpleName("Not");
b0.Types_(1);
b0.SimpleName("Formula");
b0._Types();
b0.Features_(1);
b0.Feature_();
b0.FeatureModifiers();
b0.SimpleName("Formula");
b0.SimpleName("formula");
b0._Feature();
b0._Features();
b0._SimpleEntity();
b0.SimpleEntity_();
b0.EntityModifiers();
b0.SimpleName("ForAll");
b0.Types_(1);
b0.SimpleName("Formula");
b0._Types();
b0.Features_(2);
b0.Feature_();
b0.FeatureModifiers();
b0.SimpleName("Parameters");
b0.SimpleName("parameters");
b0._Feature();
b0.Feature_();
b0.FeatureModifiers();
b0.SimpleName("Formula");
b0.SimpleName("formula");
b0._Feature();
b0._Features();
b0._SimpleEntity();
b0.SimpleEntity_();
b0.EntityModifiers();
b0.SimpleName("Exist");
b0.Types_(1);
b0.SimpleName("Formula");
b0._Types();
b0.Features_(2);
b0.Feature_();
b0.FeatureModifiers();
b0.SimpleName("Parameters");
b0.SimpleName("parameters");
b0._Feature();
b0.Feature_();
b0.FeatureModifiers();
b0.SimpleName("Formula");
b0.SimpleName("formula");
b0._Feature();
b0._Features();
b0._SimpleEntity();
b0.SimpleEntity_();
b0.EntityModifiers();
b0.SimpleName("ExistUnique");
b0.Types_(1);
b0.SimpleName("Formula");
b0._Types();
b0.Features_(2);
b0.Feature_();
b0.FeatureModifiers();
b0.SimpleName("Parameters");
b0.SimpleName("parameters");
b0._Feature();
b0.Feature_();
b0.FeatureModifiers();
b0.SimpleName("Formula");
b0.SimpleName("formula");
b0._Feature();
b0._Features();
b0._SimpleEntity();
b0.CompositeEntity_();
b0.EntityModifiers();
b0.SimpleName("Arguments");
b0.Types();
b0.ComponentModifiers_(1);
b0.ComponentModifier("ordered");
b0._ComponentModifiers();
b0.SimpleName("Term");
b0._CompositeEntity();
b0.DataEntity_();
b0.EntityModifiers();
b0.SimpleName("SimplePredicate");
b0.Types_(1);
b0.SimpleName("Predicate");
b0._Types();
b0.DataType("String");
b0._DataEntity();
b0.SimpleEntity_();
b0.EntityModifiers();
b0.SimpleName("QualifiedPredicate");
b0.Types_(1);
b0.SimpleName("Predicate");
b0._Types();
b0.Features_(2);
b0.Feature_();
b0.FeatureModifiers();
b0.SimpleName("Name");
b0.SimpleName("theoryAlias");
b0._Feature();
b0.Feature_();
b0.FeatureModifiers();
b0.SimpleName("SimplePredicate");
b0.SimpleName("name");
b0._Feature();
b0._Features();
b0._SimpleEntity();
b0.DataEntity_();
b0.EntityModifiers();
b0.SimpleName("TheoryName");
b0.Types();
b0.DataType("String");
b0._DataEntity();
b0.DataEntity_();
b0.EntityModifiers();
b0.SimpleName("Constant");
b0.Types_(1);
b0.SimpleName("Term");
b0._Types();
b0.DataType("String");
b0._DataEntity();
b0.DataEntity_();
b0.EntityModifiers();
b0.SimpleName("Variable");
b0.Types_(1);
b0.SimpleName("Term");
b0._Types();
b0.DataType("String");
b0._DataEntity();
b0.SimpleEntity_();
b0.EntityModifiers();
b0.SimpleName("FunctionApplication");
b0.Types_(1);
b0.SimpleName("Term");
b0._Types();
b0.Features_(3);
b0.Feature_();
b0.FeatureModifiers();
b0.SimpleName("Function");
b0.SimpleName("function");
b0._Feature();
b0.Feature_();
b0.FeatureModifiers();
b0.SimpleName("Arguments");
b0.SimpleName("arguments");
b0._Feature();
b0.Feature_();
b0.FeatureModifiers_(1);
b0.FeatureModifier("derived");
b0._FeatureModifiers();
b0.SimpleName("Term");
b0.SimpleName("result");
b0._Feature();
b0._Features();
b0._SimpleEntity();
b0.DataEntity_();
b0.EntityModifiers();
b0.SimpleName("SimpleFunction");
b0.Types_(1);
b0.SimpleName("Function");
b0._Types();
b0.DataType("String");
b0._DataEntity();
b0.SimpleEntity_();
b0.EntityModifiers();
b0.SimpleName("QualifiedFunction");
b0.Types_(1);
b0.SimpleName("Function");
b0._Types();
b0.Features_(2);
b0.Feature_();
b0.FeatureModifiers();
b0.SimpleName("Name");
b0.SimpleName("theoryAlias");
b0._Feature();
b0.Feature_();
b0.FeatureModifiers();
b0.SimpleName("SimpleFunction");
b0.SimpleName("name");
b0._Feature();
b0._Features();
b0._SimpleEntity();
b0.DataEntity_();
b0.EntityModifiers();
b0.SimpleName("Name");
b0.Types();
b0.DataType("String");
b0._DataEntity();
b0._ModelDeclarations();
b0.Namespace("org.whole.lang.firstorderlogic");
org.whole.lang.commons.builders.ICommonsBuilder b1 = (org.whole.lang.commons.builders.ICommonsBuilder) op.wGetBuilder(org.whole.lang.commons.reflect.CommonsLanguageKit.URI);
b1.Resolver();
b0.URI("http://lang.whole.org/FirstOrderLogic");
b0._Model();
}
}