The arrow of time flies in reverse

Here is the puzzle:

(Click on the image to see a larger image.)

Overview:

This is a word graph. The nodes are short words, the edges are long words.

Whenever an edge (i.e., a long word) connects two nodes (i.e., two short words) it means that the long word can be reversed and decomposed into the two short words. Another way to say it: The two short words can be reversed and interleaved in some way to produce the long word.

Objective:

Fill in each of the numbered nodes (1-18) with the appropriate short word. Optionally, label each of the edges with the appropriate long word. (Although it's not much of an option because everything is interdependent, so you will have to figure most of them out anyway.)

The grayed-out nodes and edges are also part of the graph. They are additional connections provided to assist you by giving you more information.

Connecting mechanism:

For illustrations of the connecting mechanism, you can look at the shaft of the arrow which is already complete. Let's look at how BONELESS connects SLOB and SEEN:

Start with the two short words:

SLOB        SEEN

Reverse them:

BOLS        NEES

Interleave them (you can space the letters out however you wish,
but you must maintain their order):

BOLS
NEES

BO  L S
NE E S

BONELESS


Obviously, you can reverse the process to decompose BONELESS into SLOB and SEEN.

Computer usage:

Consider this puzzle to have a partial NO-COMPUTERS tag attached. You may write computer programs or use existing tools for pattern matching or regular expressions in order to find short word and long word candidates. However, you may not write a computer program to solve the entire puzzle brute force.

Precaution:

You will be doing a lot of thinking in reverse for this puzzle. I would advise you to mark your current position in space-time so that you can find your way back afterward.

A few notes about @DrXorile 's solution:

Node #3 is EMIT (+NOON = NOONTIME, +NAPS = TIMESPAN, +TRAP = PARTTIME)

Node #10 can be RUT or TANG or even TIDE again

Node #18 really is DECOR

• Are there any repeated words, ie same word in two different nodes? – Dr Xorile Sep 4 '19 at 15:25
• @DrXorile — No repeated words. All the nodes have unique words. – SlowMagic Sep 4 '19 at 15:30

I fear that your dictionary must be more extensive than mine!

However, here are some answers that seem to work:

1. stop (+deter = protested, + mien = nepotism)
2. noon (+stop = pontoons, + gild = noodling (based on hint from OP. I originally discounted this one because I couldn't find an answer for 3.))
3. emit (I don't know why I didn't get this one; +noon=noontime, +naps=timespan, + trap=parttime (neither timespan nor parttime were in my dictionary)) I then worked backwards a bit from 8 to get to 4
8. stir (+stop=protists, + said=diarists, +forte=retrofits)
7. lace (+stir=recitals, +rots=sectoral) (it could have been "at" or "lace", but lace worked better at 6)
6. sips (+mace=escapism,+lace=specials)
5. deed (+sips=despised,+name=demeaned (tricky one))
4. trap (+lane=parental,+deed=departed)
14. tide (+seen=neediest,+slam=medalist)
12. ruse (+sear=erasures) (I reject tide since it's already at 14)
11. seam (+tide=mediates, +ruse=measures,+sort=maestros)
10. rut (+seats=statures, +seam=matures) (could also have been tang (magnates,stagnates))
15. roam (+tide=mediator, +lain=manorial)
16. need (+roam=demeanor) (there were several possibilities here so I needed to explore a bit to find a reasonable bridge to "taro")
17. deep (+need=deepened, +taro=operated)
18. decor (+tale=relocated, +deep=proceeded, +evince=reconceived, +sure=resourced (my dictionary had neither "reconceived" nor "resourced" so I found these by mixing the two words in all possible ways and scanning the list!))

So still two gaps...

Methods: I have a short python program.

The first part does a subtraction of a small word from a big word. It works recursively to produce a list of possible results. e.g. "lelabc" minus "lab" = ["elc","lec"]. "lelabc" minus "lba" = [].

Subtract("lelabc","lab")
Out: ['elc', 'lec']


Then the second part takes an input of a small word. It finds all longer words in my dictionary and does a reverse subtraction. It checks whether those reverse subtractions (if any) are in my dictionary. If they are, add them to a set. Return the set. E.g.:

findAll("lane")
lane iv veinal
lane id denial
lane it entail
lane iv venial
lane reg general
lane sit entails
lane rte eternal
lane ret eternal
lane deb enabled
lane reb enabler
lane trap parental
lane deem enameled
lane muon noumenal
lane tarp prenatal
lane tiro oriental
Out: 'deb','deem','id','it','iv','muon','reb','reg','ret','rte','sit','tarp','tiro','trap'}

findAll("evince")
Out: set()


Finally, I take two small words and take the intersection of the small words in the set. I don't know if this is cheating, but the computer is definitely better at finding intersections of two sets than I am.

I also wrote a short script to mix two words together to scan for ones that might not be in my dictionary!

• You are definitely on the right track, and your use of computers is appropriate. My first thought was that your subtraction algorithm is scanning from, say, left to right and picking up the first matching letter that it finds without considering all possibilities. (I.e., that there may be another match later in the word.) However, your example of "lelabc" producing two outputs shows that you have already factored this into your program. – SlowMagic Sep 3 '19 at 19:26
• In constructing the puzzle, I tried to use only common and familiar words, but it is still possible that your dictionary is deficient in some way. We have seen this before. Your answer for node #1 agrees with mine. And you were right to use your answer for node #1 in searching for an answer to node #2 since node #1 and node #2 are connected by an edge. However, your answer for node #2 does not agree with mine. – SlowMagic Sep 3 '19 at 19:26
• Does your dictionary contain the words PONTOONS and NOODLING? If so, give your search for node #2 another try. – SlowMagic Sep 3 '19 at 19:26
• It's looking good! Thanks for working so hard on this. I'm going to go ahead and give you the green checkmark. Below are a couple of notes of interest. – SlowMagic Sep 4 '19 at 16:36
• Correction: My comment about node #10 and node #12 really only applies to node #10 since node #12 has the additional information of being connected to node #18. – SlowMagic Sep 4 '19 at 16:46