/** * 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(); } }