Haskell, 25 bytes
f(1:b)=f$scanr1(-)b
f _=0
Haskell, 36 31 26 bytes
f[1]=1
f(1:b)=f$scanr1(-)b
This version errors as a false indicator and returns 1
as the true indicator. It's short but I generally find these sorts of answers a little cheaty so below I have a version with a more traditional output method:
42 37 32 bytes
f[1]=1
f(1:b)=f$scanr1(-)b
f _=0
Outputs 1
for yes and 0
for no.
This is I believe the only answer here using this method. We use scanr1(-)
to calculate what the layer above would have to be in order to produce the input, and check if that new smaller layer holds. If we encounter [1]
we halt with yes, because that is the first layer of Pascal's triangle. And if we encounter something starting with something other than 1
we halt with no.