7 ! x : (~IsSource(x)) => ? y : CopiedBy(y,x) & VariantOf(y) = VariantOf(x).
10 term NbOfSources : V2 {
14 procedure minSources(sample) {
15 stdoptions.groundwithbounds=false
16 stdoptions.symmetrybreaking="static"
17 idpintern.setvocabulary(sample,V2)
18 return minimize(T2, sample, NbOfSources)[1]
21 procedure findSources(samples) {
23 for _,sample in ipairs(samples) do
24 local model = minSources(sample)
26 table.insert(result,{ getGrouping(model), getSources(model) })
28 table.insert(result,{ getGrouping(sample), {} })
34 procedure getSources(model) {
36 for tuple in tuples(model[V2::IsSource].ct) do
37 local manuscript = tuple[1]
38 table.insert(sources,manuscript)